应用情况:
当我们的模型资源中动画不带位移时,我们还想通过Root Motion控制人物移动,使人物移动和动画播放很吻合时。
具体步骤:
1.给要运用的人物模型添加Animator并设置相应的Animator Controller。
2.在导入的模型的动画设置中添加Curve,命名为WalkSpeed(命名看自己喜好)。
3.在人物的动画控制器中添加float类型的参数,命名为WalkSpeed(注意:与上面命名要一致)。
4.给人物添加脚本,代码如下:
private Animator anim;
void Awake()
{
anim = GetComponent<Animator>();
}
void OnAnimatorMove()
{
Vector3 movement = transform.position;
movement.z += anim.GetFloat(“WalkSpeed”) * Time.deltaTime;
transform.position = movement;
}
然后人物就能随着动画很协调的移动了。
希望对大家有所帮助!!!