Unity研究所<Unityによるゲーム開発、映像開発>

Unity初心者40代後半中年中間管理職おやじが綴るゲームで小遣い稼ぎできるようになるまでのブログ

➂ゾンビの徘徊、プレイヤーの追跡 その4 ゾンビのモーションの切り替え設定

今回はAnimatorウインドウでのモーションの切り替えのための設定方法について解説する

  

 

以下では、他のモーションの追加、切り替えの設定の手順を解説する

〇手順

ア モーションの追加

イ モーションの切り替えの遷移作成

ウ スクリプトでの制御用のパラメーターの設定

 

   ア モーションの追加

f:id:Harukichi:20190813131603p:plain

 ここからはモーションの追加方法を説明する

 今回は歩く、走る、噛みつくの3つのモーションを用意した

 Animatorウインドウに、プロジェクトウインドウからドラッグ&ドロップして配置すると上記のようになる

 

    イ モーションの切り替えの遷移作成

f:id:Harukichi:20190813131956p:plain

モーションからモーションへの切り替えの設定には、モーションの箱を右クリックして、Make Transitionをクリックすると、白い矢印が表示されるので、それを次に切り替えたいモーションへつなげる

 

 

f:id:Harukichi:20190813132009p:plain

上記は、歩くモーション走るへつないだ状態

 

 

f:id:Harukichi:20190813132448p:plain

さらに切り替えのパターン分矢印を作成する

 

 

   ウ スクリプトでの制御用のパラメーターの設定

f:id:Harukichi:20190813144738p:plain

 スクリプトでの制御用にパラメーターを追加する

 左上のParametersのボタンをクリックし、さらに+ボタンをクリックすると、追加するパラメータの変数の型の選択候補が表示される

 この型については、制御上都合の良いものを選択する

 

 

f:id:Harukichi:20190813145152p:plain

 今回の例は、intger型を選択し、Statusという名前に設定(図の左上)

 今回の制御としては、Statusの中身(0~2)と動作を下記のように関連づける

 ・0:歩く

 ・1:走る

 ・2:噛む

 パラメーターとモーションの遷移を関連付けるには、遷移の矢印を選択し、InspectorのConditionの箇所を設定する

 1 =の箇所で設定するパラメーターを選択 

 2 その右をクリックして条件を選択    

 3 さらに右の箇所にはパラメーターと比較する値を入力 

 

f:id:Harukichi:20190813150128p:plain

 今回はStatus、Equals、1と設定

 これにより、スクリプト上でStatusの値を0から1に変更すると、モーションが走るに切り替わるようになる 

 

 

〇テスト用プロジェクト 

f:id:Harukichi:20190813173322g:plain

 f:id:Harukichi:20190813175532g:plain


 上記は、モーションの遷移のデバック用にボタンで切り替えできるようにしてみたもの

スクリプトとしては下記の通り

 

f:id:Harukichi:20190813184644p:plain

8行目、13行目

 Animator自体はゾンビにアタッチされているものなので、ゾンビのゲームオブジェクト自体を取得するためにパブリックで変数を定義して、Inspector上で割り当て、ゾンビよりAnimatorを取得している

 

23行目

 AnimatorのメゾットであるSetIntegerを使用し、Animatorウインドウにて設定したパラメーターのStatusの値を0に設定している

 

 ボタンごとにStatusの値を0~2までのそれぞれが割り付けられており、ボタンを押すたびにモーションが切り替わるようになっている 

 

〇実際のZombie Mazeの中での実装

 ゾンビの通常動作スクリプト

f:id:Harukichi:20190813190628p:plain

実際のゲームの中での実装方法としては、上記のように徘徊中は「0」歩く、ターゲットであるプレイヤーを見つけた場合は「1」走るをセットしている

 

 

ゾンビの一定範囲にプレイヤーが入った場合のスクリプト

f:id:Harukichi:20190813191121p:plain

22行目

 OnTriggerEnter関数により、ゾンビに設定されたコライダー内にプレイヤーが入ったことを検知した場合に「2」を設定し、噛みつくモーションに遷移させている

 

 

モーションの追加、遷移に関する設定、スクリプトを紹介した

Animatorにて設定するパラメータ、条件については、用途に合わせてより良い組み合わせを選択することにより、制御がスムーズになるのでいろいろ試しいほしい

 

今回はここまで