ゲーム開発を試してみようと思い立ち、Unreal Engine 5をインストールして開発する過程で調べてみた部分を備忘録的に投稿します。今回は敵キャラでもNPCでも使える AI Behavior Tree を使ったキャラクターを作成する方法の続きです。
ここまでの手順[Unreal EngineでAI Behavior Treeを使ったNPCの作り方(その2)]については、別記事をご覧ください。
AI Behavior Treeを使ったキャラクター
オープンワールドなゲームをプレイしていると、自キャラを追いかけてくるような動作をするNPCや敵キャラに遭遇します。
今回は、こんな感じでキャラクターを近づけると追随して追いかけてくるような動作をするアクターを作成する手順を紹介します。
また、今回は[AI Behavior Tree]で様々な条件が設定できるので「追いかける」以外に、他の動作を追加したり別の動作に簡単に変更ができます。
ナビメッシュ バウンズ ボリュームの追加
キャラクターに[AI Behavior Tree]の制御が適用するエリアとして[ナビメッシュ バウンズ ボリューム]を追加します。
1. [Unreal Editor]の[コンテンツドロワー]画面で[ThirdPerson|Blueprints]フォルダー内の[BP_AIEnemyController]をダブルクリックして開きます。
2. 表示された[イベントグラフ]画面で[Event BeginPlay]の右側の実行ピンをマウスで選択して伸ばします。
3. 表示された[実行可能なアクション]画面で[Run Behavior Tree]を検索して追加します。
4. 追加された[Run Behavior Tree]の[BTAsset]の[アセットを選択]リストをクリックします。
5. 表示された一覧から[BT_Enemy]を選択します。
6.[イベントグラフ]の空いている場所でマウスの右ボタンをクリックして表示された[このブループリントで使えるノード]画面で[Get Blackboard]を検索して追加します。
7. 追加された[Blackboard]右側のピンをマウスでドラッグします。
8. 表示された [Blackboard Component オブジェクト参照を取得する動作]画面で[Set Value as Object]を検索して追加します。
9. [Blackboard]の右側と[Set Value as Object]の[Target]が繋がって表示されます。
10. [Run Behavior Tree]と[Set Value as Object]の実行ピンを繋ぎます。
11.[イベントグラフ]の空いている場所でマウスの右ボタンをクリックして表示された[このブループリントで使えるノード]画面で[Make Literal Name]を検索して追加します。
12. [Make Literal Name]画面の[Value]を[SelfActor]に変更します。
13.[Make Literal Name|Return Value]と[Set Value as Object|Key Name]を繋ぎます。
14.[Set Value as Object|Object Value]をマウスでドラッグして表示された[オブジェクト参照を提供する動作]で[Self]を検索して追加します。
15. [Self]が追加されます。
16. 追加した[Set Value as Object][Make Literal Name]と[Blackboard]を選択してコピーします。
17. [イベントグラフ]の空いている場所に貼り付けます。
18. コピーした[Make Literal Name]の[Value]を[Target]に変更します。
19.[Set Value as Object|Object Value]をマウスでドラッグして表示された[オブジェクト参照を提供する動作]で[Get Player Character]を検索して追加します。
20. [Get Player Character|Return Value]と[Set Value as Object|Object Value]を繋ぎます。
21. コピー元の[Set Value as Object]とコピーした[Set Value as Object]を実行ピンで繋ぎます。
これで[AI Behavior Tree]で設定した行動をアクターに適用するコントローラーが出来上がりました。
実行して[AI Behavior Tree]を確認
[ThirdPersonMaps]画面で実行すると、レベルに配置したアクターに[BT_Enemy]の設定が適用されます。
配置したアクターに近づくと、追いかけてきます。
[ナビメッシュ バウンズ ボリューム]で設定したエリアから外に出ると
こんな感じで、追跡しなくなります。
アクションする動作を調整してエリアを設定すれば、ゾンビゲームの敵キャラにも応用できます。
まとめ
今回は、Unreal Engineで敵キャラでもNPCでも使える AI Behavior Tree を使ったキャラクターを作成する手順を紹介しました。
[AI Behavior Tree]の設定を工夫することで、アクションやシューティングゲームを開発する際、欠かせない敵キャラやNPCを作成することが可能です。
アクションと組み合わせて、ゾンビやバンデッドなど様々な性格付けしたキャラクターを手軽に作成できる機能です。
Unreal Engineのゲーム開発でNPCや敵キャラの挙動を編集したい人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。