가끔 애니메이션이 “고정” 상태인 경우가 있는데, 이는 애니메이션을 씬에 넣더라도 부착된 캐릭터가 이동하지 않는다는 의미입니다. 즉 애니메이션이 “루트 모션”을 포함하지 않습니다. 이렇게 하려면 스크립트에서 루트 모션을 수정하면 됩니다. 아래에 설명된 단계를 수행하면 됩니다. 다만, 아래에서 설명된 방법 외에도 다른 방법으로도 같은 결과를 얻을 수 있습니다.
 
 
 
마지막으로, 모션을 제어하려면 OnAnimatorMove를 구현하는 RootMotionScript.cs 스크립트를 생성해야 합니다.
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;
            }
    }
}
RootMotionScript.cs를 “Dude” 오브젝트에 연결해야 합니다. 이제 Animator 컴포넌트는 OnAnimatorMove 함수가 있는 스크립트를 감지하여 Apply Root Motion 프로퍼티를 Handled by Script 로 표시합니다.
