给定这个简单的设置:
节点树
视口预览
如何对齐平面实例,使每个平面的y轴平行于曲线,平面的x轴平行于地平面(x和y轴(?
我已经尝试了各种与";将Eular与Vector对齐";节点,但一旦曲线不面向特定的轴,平面就会倾斜,并且失去与地平面的对齐。
有什么建议吗?
所以经过一些研究,我找到了自己问题的解决方案。我会把它贴出来,以防其他人发现。请注意,我不是数学家,可能有一个较短的解决方案(或者我不知道的特定节点可以执行一些步骤(。还要注意的是,这是一个适用于直线上实例的解决方案,这正是我的目标,我没有在曲线上测试这个设置,但我猜测它不会起作用。为此,您需要对每一点或类似的内容执行步骤3。
好的,我们开始:
-
在点节点上生成一条线上的实例。
-
根据直线的法线将Euler与向量节点对齐,在z轴上自动调整实例的方向。
-
计算直线上两个点之间的矢量(哪个点不重要,因为直线是直的,但减法的顺序重要!(。要计算从点1到点2的矢量,必须从点2减去点1(类似于:点2-点1(。
-
计算新矢量和地平面矢量[0,0,1]之间的角度。要做到这一点,请使用以下公式:
θ = arccosine ( dot product/ ( length(v1) * length(v2) ) ).
-
计算90度的补角-θ
***将90转换为弧度的
- 根据结果值在x轴上旋转实例
节点树结果
如果有更短/更简单的解决方案,请告诉我。