質問: GetComponent(); ``` とStart()のところに追加して、Updateの中に ``` this.GetComponent().SetTrigger("run"); ``` と書いて、 ![animatorの図](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/07531b2801ad846a3d3e2d0675839002.png) とAnimatorを設定しましたが、runningに遷移しませんでした。 モデルの設定の、 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/70be91de2ceeda29fc8d1e4014d786c9.png) AnimationのAnimationのvmdを削除するとモデルが動かなくなります。 AnimatorのrunningのMotionの所にはNone(Motion)と書いてあり、patapatan.vmdをドラッグしてみると The legacy Animation Clip "patapatan.vmd" cannot be used in the State "running". Legacy AnimationClips are not allowed in Animator Controllers.To use this animation in this Animator Controller, you must reimport in as a Generic or Humanoid animation clip UnityEditor.DockArea:OnGUI() とエラーを吐きます。モデルのRigはLegacyにしています。HumanoroidやGenericにすると肉体だけが宙に浮いてしまい、動きませんでした。 そしてアニメーションのループですが、 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/ce9003006dedc3972a924dc2ff713739.png) サイトに「Wrap ModeをLoopにしたらアニメーションがループされる」と書いてあったのでその通りにしましたが、アニメーションはループしませんでした。 Animatorの遷移とアニメーションのループの方法をどうか教えてください。よろしくお願いします。
回答: エラーコードに書いてある通り、LegacyのアニメーションクリップはAnimatorに登録できません。 Animatorを使うなら、モデルの方を正しく設定し、HumanoidもしくはGenericで動くようにする必要があります。 Legacyのまま使いたい場合は、Animation(Animatorではない)を利用して、遷移をスクリプトで記述する必要があります(Mecanim登場以前の方法です)。 ループについてですが、Legacyアニメーションは「Wrap ModeをLoopにしたらアニメーションがループされる」で合っています。 (合ってはいますが今回の場合、runningのMotionにアニメがそもそも設定されていない=再生されていない、のでループもしない状態です)。 HumanoidもしくはGenericの場合は、3枚目の画像と同様の画面で「Loop」というチェックボックスがあるのでそこをオンにするとループするようになります。