UE中ReflectVector结点详解
¶一、结点含义
ReflectVector:输入入射向量和法线向量,通过该结点运算,可以输出反射方向向量。
¶二、数学原理
在了解结点连接方式的背后,我们首先需要知道其数学原理
如图所示,已知入射向量V、法线n,求出射向量VR,其中,出射向量VR与入射向量V之间,大小相等,且与法线n之间的夹角均为θ
由于向量的平移不变性(向量平移后大小和方向都不变),我们可以将出射向量VR平移,如下图所示:
由于VR与V的大小相等,所以此时构成了一个等腰三角形
从V向n作垂线,长度为|VP|,其为V向n投影的长度:|VP|=|V|cosθ
|VP|再乘以法线方向,就得到了V在n方向上的投影:VP=n|V|cosθ
又由于其是等腰三角形,V向其边作垂线,得到的是其边长的一半
那么如图所示,粉色向量可以由2VP来表示
那么反射向量VR可以用以下公式表示:VR=V-2VP
¶三、内部连线
双击打开结点,即可见其内部连线方式,ReflectVector结点内部连线如下:
运算过程如图所示:
注:由于UE中的法向量都是单位向量,所以其模长为1
