Unity アニメーション再生トラブルシューティングガイド

この資料では、Unity でアニメーションが実行されない場合の原因と解決策を順を追って説明します。以下の項目をチェックして問題の解決を図ってください。


1. Animator コンポーネントと Animator Controller の確認

  • Animator コンポーネントの確認
    • 対象の GameObject に Animator コンポーネントがアタッチされているか確認する
    • InspectorController 欄に正しい Animator Controller(例:「WarriorAnimator」)が割り当てられているかチェック
  • Animator Controller 内のステート設定
    • Animator Controller をダブルクリックして Animator ウィンドウ を開く
    • Entry から正しいデフォルトステート(例:Idle など)に繋がっているか確認
    • ステート間のトランジションが正しく設定されているか確認
  • アニメーションの種類の確認
    • アニメーションが「Humanoid」「Generic」「Legacy」のどれに該当するかを確認
    • Humanoid の場合は、Avatar の設定が正しくされているかチェック

2. モデルのインポート設定(Rig / Avatar)の確認

  • Humanoid の場合:Avatar の設定
    • Avatar Definition を「Create From This Model」または「Copy From Other Avatar」に設定
    • インポート設定を変更した場合は必ず Apply を押す
    • Animator コンポーネントの Avatar 欄に正しいアバターが割り当てられているかチェック
  • Generic の場合
    • Avatar Definition が「No Avatar」でも動作可能
    • ただし、アニメーションが正しく再生できるように Root ノード 等の設定を確認する
    • 変更後は Apply を忘れずに

3. Animator Controller のステートとパラメータの確認

  • アニメーションのループ設定
    • 再生させたいアニメーション(例:Idle)の Loop Time がオンになっているか、FBX の Animation タブで確認
  • パラメータやトランジションの設定
    • 他のステート(例:Walk、Attack など)に移行する際のパラメータやトリガーが正しく設定されているか確認
    • スクリプトで animator.SetTrigger("Attack") などを使用している場合、パラメータ名と条件を再確認

4. 実行モードとシーン内での確認

  • Play モードでの確認
    • エディター上で Play モード に入って実行中にアニメーションが再生されるかチェック
    • Animation ウィンドウ のプレビューではなく、SceneGame ビューで確認
  • 他の制御の干渉
    • Timeline や他のスクリプトが同じ GameObject を制御していないか確認
    • Timeline の Binding や Animation Track がアニメーション再生を妨げていないか確認
  • エラーメッセージの確認
    • コンソールに赤いエラーが出ていないかチェック
    • エラーがある場合、その内容に基づいて修正を実施

5. まとめ

  • Animator コンポーネントに正しい Animator Controller が設定されているか
  • Rig の Animation Type が適切で、Avatar が正しく設定されているか
  • デフォルトステート(Entry から繋がる)が正しく設定され、アニメーションを保持しているか
  • Play モードで実行し、コンソールにエラーがないかを確認

これらのポイントを確認することで、多くの場合、アニメーションが再生されない問題の原因を特定できます。さらに詳しい情報(Animator ウィンドウやインポート設定の詳細、コンソールのエラーメッセージなど)を提供すると、問題解決が一層スムーズになるでしょう。


以上、Unity でアニメーションが再生されない場合の対策ガイドでした。

Animation,Unity

Posted by hidepon