みなさんこんにちは。
さて、今日は最近少しずつ理解できるようになってきたUnityのアニメーションの設定についてお話したいと思います。
まずはUnityのアセットストアからモデルをインポートします。
最初から#Dを作るのは不可能ですし、基本的なアニメーションも全て含まれているので便利です。
今回はこのロボットで色々操作していきたいと思います。
このロボットを歩かせたり走らせたりするには上の図のように、Animator Controller(アニメータコントローラ)を作成する必要があります。
RobotControllerという名前で作成し、Basic_Walk_01とBasic_Run_01のAnimation Clip(アニメーションクリップ)を配置しました。
Entryから矢印が伸びているクリップがデフォルトで設定されている動作となり、ここでは「Basic_Walk_01」としています。
画像ではわかりにくいですが、Playボタンを押すとロボットが歩き始めたのがわかります。
また、図の歩いている状態からアニメーションを遷移させることもできます。
Animatorの図にある通り、Basic_Walk_01とBasic_Run_01が矢印でつながっています。
右クリックから「Make Transition」を選択するのですが、
こうすることで、「歩く→走る」・「走る→歩く」というように遷移できるになります。
しかし実際に遷移させるためには遷移させるための条件を作らなければなりません。
つまり、矢印を伸ばしただけでは、コンピュータはどんなタイミングで遷移させたらよいかわからないわけです。
私は最初ここでつまづいてしまいました…
このアニメーションの遷移でもC#を使うので見ていきましょう。
こんな感じのコードにしてみました。
スペースキーを押すとアニメーションが遷移する(走り出す)ようになっています。
Animatorを取得して、押すキーを指定してトリガーを発動させる。
最初は全く覚えられなかったですが、何とか教材を見ずにでもできるようになってきました。
走る→歩くに戻る場合も同様。
Mキーで遷移できるように設定しました。
パラメータはトリガーだけでなく、floatとかいろいろ種類があるので的確に設定できるように覚えていきたいです。
Basic_Run_03のクリップのモーションが01以上に早かったので、Nキーを押すことでもう一段早くダッシュできるようにしてみたりしました。
覚えるのが大変でしたが、かなりゲームらしくなったと思います。