前回、Blaze AI Engineを使って巡回する敵AIを作成しました。
このままだとフィールド上を巡回しているだけですので、今回は攻撃要素を追加していきたいと思います。
【Blaze AI Engine】②敵AIに攻撃機能を追加する
非常に高機能で便利なアセットとなっているので、各パラメータの種類も非常に多く全てを理解し全てを丁寧に解説することは正直かなり困難です。
ですので、基本的な設定についてまとめておきます。
フィールドにプレイヤーを配置する
まずは、矢印キーなどで動かすことが出来るプレイヤーオブジェクトをフィールド上に配置します。
これは、敵がプレイヤーを追いかけてくる様子を確認するためですね。
手っ取り早く済ませたい場合には、Blaze AI Engineに含まれている「Warrior」オブジェクトを利用すると良いでしょう。
プレイヤーオブジェクトには、必要なコンポーネントとして「Blaze AI Distraction」と「Blaze AI Enemy Manager」スクリプトをアタッチします。
敵AIオブジェクトの設定
現在は、「Normal State Behaviour」スクリプトのみ設定しているので、今度は敵がプレイヤーを追いかけて攻撃するために複数のコンポーネントを追加します。
- Surprised State Behaviour
- Distracted State Behaviour
- Alert State Behaviour
- Flag Attack
- Attack State Behaviour
敵AIには追加でこれらのコンポーネントを追加します。
前回設定した時と同様に、それぞれのスクリプトを対応するプロパティに設定します。
Statesの横にある「Surprised」と「Distractions」タブを開いて各スクリプトを対応するプロパティに設定します。
今回もアニメーションコントローラーは、Blaze AI Engineに含まれている「Warrior Controller」を使用しています。
ですので、別のアニメーションコントローラーを使用している場合には「Right Turn Anim Normal」から始まるアニメーション名を自身が使用しているアニメーション名に変更する必要がありますね。
この辺は文字通り右にターンや左にターンする際に対応しているアニメーションです。
私は設定していませんが、Waypointsを設定することも出来ます。
複数のポジションを設定することで、その経路を敵AIが巡回してくれます。何も設定していない場合にはランダムになるようです。
敵AIが何をターゲットにするのかに関する設定はVisionの項目で行います。
「Hostile And Alert Layers」にプレイヤーのレイヤー名を設定して、「Hostile Tags」にプレイヤーのタグ名を入力します。
Alert State Behaviourの内容はこんな感じです。
ちなみに、これらの設定はデモシーンの敵AIに設定されている内容とほとんど同じですので、分かりにくい場合にはデモシーンを参考にすると良いと思います。
ここでは、巡回時におけるスピードの調整やアニメーションの設定を行っています。
攻撃に関するパラメータは非常に豊富です。私は画像のように設定しています。とりあえずデモシーンを模倣してちゃんと動作するか確認するためにですね。
Suprised State BehaviourのAnimには、敵を見つけた際のアクションを示すアニメーション名を指定しています。
Nav Mesh Agentのパラメータも画像のように多少変更しています。
これらの設定を行ったら実行して動作を確認してみます。
ここまで紹介して分かる通り、かなりパラメータが多いので色々なパターンを試すことが出来ると思います。
あちこちのパラメータを変更しながらお気に入りの敵AIを目指すと良いでしょう。