single.php

Unreal EngineでAI Behavior Treeを使ったNPCの作り方(その3)

ゲーム開発を試してみようと思い立ち、Unreal Engine 5をインストールして開発する過程で調べてみた部分を備忘録的に投稿します。今回は敵キャラでもNPCでも使える AI Behavior Tree を使ったキャラクターを作成する方法の続きです。

ここまでの手順[Unreal EngineでAI Behavior Treeを使ったNPCの作り方(その2)]については、別記事をご覧ください。

https://blog.janjan.net/2024/01/24/unreal-engine-setup-npc-by-ai-behavior-tree-vol-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や敵キャラの挙動を編集したい人の参考になれば幸いです。

スポンサーリンク

最後までご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です