前回、Unityで役立つAIアセット「Blaze AI Engine」について紹介しました。
とにかく便利すぎる神アセットなので、RPGBuilderのように具体的な使い方をこれからまとめていきたいと思います。
【Blaze AI Engine】①敵AIを作成して巡回させる
敵AIエンジンですので、まずはメインの使い方として敵AIの作り方から紹介していきたいと思います。
フィールドの作成~ベイク
まずは、敵AIが巡回するためのフィールドをPlaneで作成します。
続いて、Planeを選択した状態で「Window」→「AI」→「Navigation」を選択します。
Objectから「Navigation Static」のチェックを入れてBakeタブからBakeをクリックしてベイクします。
敵モデルの配置~Blaze AIコンポーネントの追加
ベイクが完了したら、フィールド上に敵のモデルを配置しましょう。
私は、Vroidで作成したHumanoidモデルをテスト用として使うことにします。
敵モデルのインスペクタからAdd Componentをクリックして「Blaze AI」コンポーネントを追加します。
すると、スクリプトやNav Mesh Agent等様々なコンポーネントが追加されます。
Blaze AIには色々な動作に応じたスクリプトが付属されているので、必要に応じてAdd Componentからスクリプトを追加していく感じです。
今回実装したい敵キャラクターの巡回の場合は「Normal State Behaviour」スクリプトを追加すればOKです。
次に、BlazeAIにある「State」タブを開いて先ほど追加したNormal State Behaviourスクリプトを上の画像のようにプロパティに設定します。
現在は巡回するだけですが、他の動作も実装したい場合には下にあるALERT STATEやATTACK STATEにそれぞれ対応するスクリプトを設定していく流れですね。
アニメーションコントローラーの設定
新しくアニメーションコントローラーを作成しても良いですが、BlazeAIにも「Warrior Controller」という高品質アニメーターコントローラーが付属しているのでこちらを利用することにします。
敵モデルのアニメーターコントローラーに「Warrior Controller」を設定します。
敵モデルのインスペクタ「Normal State Behaviour」のANIMATIONSを上の画像のように設定します。
このように設定した理由は、WarriorControllerのアニメーターを見てもらえると分かると思うんですが、Idleが静止状態に対応しており、Walkingが移動状態に対応しているのでそれぞれのステートを入力しています。
インスペクタでは、「Idle Anim」が静止状態のアニメーションで「Move Anim」が移動状態のアニメーションに対応しています。
この辺は、使っているアニメーションコントローラーによってアニメーション名が違うかもしれないので適宜設定してください。
ここまで出来たらこんな感じで敵モデルが巡回するようになります。