【Unity】アニメーションの再生位置を設定する
Unityにおいて、アニメーションの再生位置を任意に設定するには、以下のようなコードを使用します。
コードで設定する方法
// アニメーションコントローラーの取得
Animator animator = GetComponent<Animator>();
// アニメーションの再生位置を設定する
animator.Play("AnimationName", -1, normalizedTime);
上記のコードでは、Animatorコンポーネントを取得し、再生位置を設定するために Play
メソッドを使用しています。Play
メソッドの第一引数には、再生したいアニメーションクリップの名前を指定します。第二引数には、再生速度を指定します。負の値を指定すると、再生速度が逆転します。第三引数には、アニメーションの正規化された再生時間(0から1の間)を指定します。この値を使用すると、アニメーションを任意の再生位置から再生できます。
例えば、アニメーションの途中から再生を開始するには、normalizedTimeに0.5を指定すると、アニメーションが50%の位置から再生されます。
サンプル
プレイヤーの速度が0.1未満の時、アニメーションの最初の位置に戻す場合
// プレイヤの速度
float speedx = Mathf.Abs(this.rigid2D.velocity.x);
if (speedx < 0.1f)
{
// アニメーションの再生位置を設定する
animator.Play("Walk", 0, 0);
}
ディスカッション
コメント一覧
まだ、コメントがありません