教程:为“原状”类人动画编写根运动脚本 (Scripting Root Motion)

有时您的动画保持为“原状”,这意味着,如果您将其放入场景中,它不会移动上面的角色。换言之,动画未包含“根运动”。为此,我们可以使用脚本来修改根运动。要把所有一切综合到一起,请遵循以下步骤(请注意,有多种不同的方式可达到相同结果,这只是其中的一种方法)。

using UnityEngine;
using System.Collections;

[RequireComponent(typeof(Animator))]

public class RootMotionScript :MonoBehaviour {

	void OnAnimatorMove()
	{
Animator animator = GetComponent<Animator>(); 

if (animator)
            {
	       Vector3 newPosition = transform.position;
newPosition.z += animator.GetFloat("Runspeed") * Time.deltaTime;                                 
	       transform.position = newPosition;
            }
	}
}

(返回 Mecanim 简介

Page last updated: 2013-06-24