今回はAnimatorウインドウでのモーションの切り替えのための設定方法について解説する
以下では、他のモーションの追加、切り替えの設定の手順を解説する
〇手順
ここからはモーションの追加方法を説明する
今回は歩く、走る、噛みつくの3つのモーションを用意した
Animatorウインドウに、プロジェクトウインドウからドラッグ&ドロップして配置すると上記のようになる
モーションからモーションへの切り替えの設定には、モーションの箱を右クリックして、Make Transitionをクリックすると、白い矢印が表示されるので、それを次に切り替えたいモーションへつなげる
上記は、歩くモーション走るへつないだ状態
さらに切り替えのパターン分矢印を作成する
ウ スクリプトでの制御用のパラメーターの設定
スクリプトでの制御用にパラメーターを追加する
左上のParametersのボタンをクリックし、さらに+ボタンをクリックすると、追加するパラメータの変数の型の選択候補が表示される
この型については、制御上都合の良いものを選択する
今回の例は、intger型を選択し、Statusという名前に設定(図の左上)
今回の制御としては、Statusの中身(0~2)と動作を下記のように関連づける
・0:歩く
・1:走る
・2:噛む
パラメーターとモーションの遷移を関連付けるには、遷移の矢印を選択し、InspectorのConditionの箇所を設定する
1 =の箇所で設定するパラメーターを選択
2 その右をクリックして条件を選択
3 さらに右の箇所にはパラメーターと比較する値を入力
今回はStatus、Equals、1と設定
これにより、スクリプト上でStatusの値を0から1に変更すると、モーションが走るに切り替わるようになる
〇テスト用プロジェクト
上記は、モーションの遷移のデバック用にボタンで切り替えできるようにしてみたもの
スクリプトとしては下記の通り
8行目、13行目
Animator自体はゾンビにアタッチされているものなので、ゾンビのゲームオブジェクト自体を取得するためにパブリックで変数を定義して、Inspector上で割り当て、ゾンビよりAnimatorを取得している
23行目
AnimatorのメゾットであるSetIntegerを使用し、Animatorウインドウにて設定したパラメーターのStatusの値を0に設定している
ボタンごとにStatusの値を0~2までのそれぞれが割り付けられており、ボタンを押すたびにモーションが切り替わるようになっている
〇実際のZombie Mazeの中での実装
ゾンビの通常動作スクリプト
実際のゲームの中での実装方法としては、上記のように徘徊中は「0」歩く、ターゲットであるプレイヤーを見つけた場合は「1」走るをセットしている
ゾンビの一定範囲にプレイヤーが入った場合のスクリプト
22行目
OnTriggerEnter関数により、ゾンビに設定されたコライダー内にプレイヤーが入ったことを検知した場合に「2」を設定し、噛みつくモーションに遷移させている
モーションの追加、遷移に関する設定、スクリプトを紹介した
Animatorにて設定するパラメータ、条件については、用途に合わせてより良い組み合わせを選択することにより、制御がスムーズになるのでいろいろ試しいほしい
今回はここまで