single.php

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

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

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

https://blog.janjan.net/2024/01/23/unreal-engine-setup-npc-by-ai-behavior-tree-vol-1/

AI Behavior Treeを使ったキャラクター

オープンワールドなゲームをプレイしていると、自キャラを追いかけてくるような動作をするNPCや敵キャラに遭遇します。

今回は、こんな感じでキャラクターを近づけると追随して追いかけてくるような動作をするアクターを作成する手順を紹介します。

また、今回は[AI Behavior Tree]で様々な条件が設定できるので「追いかける」以外に、他の動作を追加したり別の動作に簡単に変更ができます。

ナビメッシュ バウンズ ボリュームの追加

キャラクターに[AI Behavior Tree]の制御が適用するエリアとして[ナビメッシュ バウンズ ボリューム]を追加します。

1. [Unreal Editor]の[ThirdPersonMap]画面で[コンテンツを追加]リストの[アクタ配置パネル]を選択します。

2. 表示された[アクタを配置]画面で[ナビメッシュ バウンズ ボリューム]を検索してレベルにドラックして追加します。

3. 配置されたグリッドを移動や回転を使って拡大・縮小します。

4. キーボードの[P]キーを押すと適用されるエリアが可視化されます。レベル全体にすることもできますし、限定的なエリアでアクターに行動させることも可能です。

ここまでの操作を保存してキャラクターの追加を終了します。

AI Behavior Treeの追加

今回のメインである[AI Behavior Tree]を追加します。

1. [Unreal Editor]の[コンテンツ ドロワー]で[ThirdPerson|Blueprints]フォルダーを開きます。

2. 空いている場所でマウスの右ボタンをクリックして表示されたポップアップメニューから[AI|ビヘイビアツリー]を選択します。

3. 一覧に追加されたクラスの名前を[BT_Enemy]に変更します。

4. 同様の操作で[AI|ブラックボード]メニューを選択します。

5. 一覧に追加されたアセットの名前を[BB_Enemy]に変更します。

6.[BT_Enemy]をダブルクリックして開き[詳細]画面の[BehaviorTree|ブラックボード]のプルダウンリストを選択します。

7. 表示された一覧から[BB_Enemy]を選択します。

8. [コンテンツ ドロワー]で[ThirdPerson|Blueprints]フォルダー内の[BB_Enemy]をダブルクリックして開きます。

9. [ブラックボード]画面の[新規キー]のプルダウンリストをクリックします。

10. 表示された一覧から[Object]を選択します。

11. 追加されたキーの名前を[Target]に変更します。

12. [ブラックボード詳細]画面の[Key Type]クリックして表示された[Base Cass]のプルダウンリストをクリックします。

13. 表示された一覧から[Actor]を検索して選択します。

14. [コンパイル]して内容を保存します。

15. 再度[BT_Enemy]をダブルクリックして開き[ビヘイビアツリー]画面の[Root]の下側部分をドラッグして表示された一覧から[Sequence]を選択します。

16. 同様に[Sequence]の下側をドラッグして[Move To]を配置します。

17. [Move To]を選択した状態で[詳細]画面の[ブラックボード|Blackboard Key]のプルダウンリストから[Target]を選択します。

ここまでの操作で[AI Behavior Tree]で Target に向かって動き出す制御を設定しました。

次回は[AI Behavior Tree]をキャラクターに適用してレベル上で自キャラを追いかけまわす設定の続きを行います。

まとめ

今回は、Unreal Engineで敵キャラでもNPCでも使える AI Behavior Tree を使ったキャラクターを作成する手順を紹介しました。

アクションやシューティングゲームを開発する際、思った通りに動作してくれるNPCや敵キャラを作りたくなります。

Unreal Engineの場合は[AI Behavior Tree]を利用すると条件分岐などを利用してアクターに性格付けを簡単にすることが可能です。

Unreal Engineのゲーム開発でNPCや敵キャラの挙動を編集したい人の参考になれば幸いです。

スポンサーリンク

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

コメントを残す

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