如何利用旋转等蓝图节点完成Actor与Actor看向相同的方向或者一个Actor看向另一个Actor的方法。
一、蓝图节点SetActorRotation
效果:
效果
二、GetActorUpVector
测试:
角色向上的向量为负Z轴,正好是角色的头上面方向。
测试:
角色向上的向量为负Y轴,正好是角色的头上面方向。
测试:
角色向上的向量为Z轴,正好是角色的头上面方向。
三、Make Rot from X
函数是根据你指定的向量, 计算出其在世界坐标下的X轴的相对旋转角度,创建旋转体。(个人理解)
先创建一个Actor1,添加箭头组件,取消勾选游戏中隐藏,如下图:
再创建另一个Actor2,多加个骨骼网格体组件,如图:
拖入场景如图所示:
关卡蓝图中,让Actor2旋转起来,让Actor跟着指向相同的方向,如果所示:
时间轴为0-5-0浮点值的变化,时间为5s,把这个浮点值乘以360作为旋转体Z分量来设置Actor2的旋转。利用Actor2的向前的向量来获取X轴向的旋转体,把它作为Actor1的旋转值。
效果如图:
四、Find Look at Rotation
经常会有一些提示性的文字、物体或带有交互的物体要始终在自己的位置上朝向角色,以方便进行交互,这就需要我们实时根据角色的位置来调整物体的Rotation,这就用到了Find Look At Rotation,它会根据Start和Target的位置获得旋转体,然后设置这个旋转就可以了。
1、我们以第三人称角色模板为例,先创建个Actor,代表需要朝向我们的物体。如图:
箭头取消游戏中隐藏勾选。
2、关卡蓝图这样设置:
3、运行效果如图: