首先打开一个Animation Blueprint资源,在Anim Graph里实现我们需要的功能.
在Anim Graph里我们需要使用一个节点: Look At
在Skeletal Control下选择它
https://docs.unrealengine.com/latest/INT/Engine/Animation/NodeReference/SkeletalControls/LookAt/index.html :Look At 节点介绍
Look At 中有很多属性,我们需要使用以下几个 :
Bone to Modify - 需要控制的骨骼 , 在这个例子中,我们选择角色的头部 .
Look at Clamp - 限制旋转的最大角度,可以根据情况任意设置.
Lock at Target - 有两个选项,可以任意指定一个 Socket 或者一个骨骼 ,Bone to Modify 中设置的骨骼将朝向它.
Lock at Location - 当Lock at Target 被设置的时候,此值为一个朝向的偏移量,当Lock at Target 没有被设置时,它就可以成为一个世界坐标点.
Alpha - 骨骼控制的权重,为1时完全控制骨骼.
设置你的Anim Graph:
确保Lock at Location 属性前面的 (as pin) 为勾选状态并且把它的值 promote 为一个变量,然后把变量公开以便让其他蓝图访问修改。
在角色蓝图中:
使用 Skeletal Mesh 的 GetAnimInstance 节点 获取人物网格的动画蓝图,然后在把它转换为我们的Animation Blueprint蓝图类,再设置我们 promote 过的变量,这里我设置的值为相机的前方。
最后得到如下效果: