前回はUnityを用いたアニメーション機能について解説し、キャラクターの歩行アニメーションを作りました。
前回の記事:
今回は「AnimatorController」とスクリプトを用いたアニメーション制御の方法について解説していきます。
AnimatorControllerの確認
それではまず「Player」プレハブを選択した状態で「Animator」タブを開いてください。
開き方は前回の記事で解説しましたが、メニューのWindow > Animator > Animatorをクリックするとできます。
「Animator」タブを開くと次の画像のような状態になっているかと思います。
既にいくつかのステートが「PlayerAC」の中に作成されています。
これはUnityの「Animation」タブとの連携機能みたいなものになります。
「Animation」アセットを作成した時に、選択中の「AnimatorController」に作成した「Animation」アセットのステートが追加されます。
もしなければ次の項目からステートを「PlayerAC」に追加してください。
ステートの追加と削除
ステートを追加する際は次の作業を行ってください。
- 「Animator」タブの右側の画面を右クリックし、コンテキストメニューを開く
- その中のCreate State > Emptyをクリックする
ステートには一つの「Animation」アセットを設定することができます。
上の手順で作成したステートには何も「Animation」アセットが設定されていないので、Inspectorから「Motion」フィールドに目的にあった「Animation」アセットを設定してください。
また、ステートは直接「Animation」アセットを「Animator」タブにドラック&ドロップすることでも作成できます。その際は作成されたステートにはドロップした「Animation」アセットが設定されています。
ちなみにステートに設定する「Animation」アセットは同じ「AnimatorController」の中の他のステートで使用されていても設定できます。
また、ステートのInspectorを確認すると次のような項目があり「Animation」の挙動など制御することができます。
- ステートの名前
- Speed:再生スピード
- Transitions:遷移可能なステートの一覧
などなど。
ステートを削除する際は、対象となるステートを右クリックし、コンテキストメニューを開きその中の「Delete」をクリックしてください。
ステート間の遷移の設定
「AnimatorController」アセットではステートを切り替えていくことで、「Animator」コンポーネントをアタッチしたGameObjectをアニメーションさせます。
その際、ステートに遷移情報(Transition)を設定する必要があります。
ここまでの記事でアニメーションに関するアセットの設定について解説し、使い方を学んできました。
次の記事では、実際にスクリプトから「Animator」コンポーネントを制御しアニメーションを切り替えていきます!
それでは次の記事に行ってみましょう!
次の記事:
コメント