ルートモーションを修正するアニメーション動作を処理するコールバック
このコールバックは各フレームごとにステートマシンおよびアニメーションが評価された後、 OnAnimatorIK が実行される前のタイミングで実行されます。 See Also: Root motion.
function OnAnimatorMove() { var animator = GetComponent.<Animator>(); if (animator) { var newPosition = transform.position; newPosition.z += animator.GetFloat("Runspeed") * Time.deltaTime; transform.position = newPosition; } }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { void OnAnimatorMove() { Animator animator = GetComponent<Animator>(); if (animator) { Vector3 newPosition = transform.position; newPosition.z += animator.GetFloat("Runspeed") * Time.deltaTime; transform.position = newPosition; } } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): def OnAnimatorMove() as void: animator as Animator = GetComponent[of Animator]() if animator: newPosition as Vector3 = transform.position newPosition.z += (animator.GetFloat('Runspeed') * Time.deltaTime) transform.position = newPosition