質問: anim.GetCurrentAnimatorStateInfo(0); if (currentState.IsName("Player_Guard")) { if (currentState.normalizedTime >= 1) { Debug.Log("アニメーション完了"); } } } } ```
回答: スペースキーを押す前のステートに戻りたいということであれば、 1. Playで再生するステートから、戻り先のステートにAnimatorで矢印を伸ばす 2. 矢印のHasExitTimeにチェックがあることを確認する 3. Playで再生するAnimationClipのloop timeのチェックを外す これだけで、アニメーションが最後まで再生されれば自然と元のステートに戻るようになります。 あらゆるステートからPlayされるため、戻り先がどこになるのか分からない!という状況であれば、まずスペースキーを押した後、かつPlayを呼び出す前の段階でanim.GetCurrentAnimatorStateInfoを使い、現在のステート情報を取得しておきましょう。 その後、 Debug.Log("アニメーション完了"); の位置で、再度Playメソッドで先ほど取得したStateInfoを使って再生させれば戻れます。