ゲーム制作 UnrealEngine5

【UE5】AI ブラックボードとビヘイビアツリー (Vol.13)

敵キャラクターを作成して、動かしてみたい。。。
プレイヤーを見つけたら、追いかけてくるみたいな、そんな動き。やってみたいと思いました。

UnrealEngine5 ゲーム開発はじめました。13回目の投稿になります。閲覧いただきまして、ありがとうございます。

今回は、AIブラックボードとビヘイビアツリー機能を使って、敵キャラクタがプレイヤーを見つけたら追いかけてくる。
という動きを作っていきたいと思います。

アセットAIの機能を使って、実現できそう。と考えました。まず、AIの機能を使用できる設定から始めます。

ブラックボード、ビヘイビア―ツリーの作成と設定

アセット AI より、「ブラックボード」と「ビヘイビアツリー」を選択してそれぞれ作成します。

それぞれに名前を付けます。

ビヘイビア―ツリーに「ブラックボード」を関連付けします

作成した ビヘイビア―ツリー(~_BehaviorTree) を開いて、
▼BehaviorTreeのところ、
BlackboardAsset に 作成したブラックボード「~_Backboard」を設定します。

ブラックボードのParentを設定します

作成したブラックボードを開いて、
▼ペアレントのところ、
Parent に ブラックボードを設定します。

キー項目に、「SelfActor」キーが追加されます。

新規キー → object を選択。
キーのEntryNameを設定します。「Player」と入力して、▼KeyType - BaseClassに[Actor]を設定します。

ビヘイビア―ツリーの設定

作成したビヘイビアツリーを開いて、
ルートノードから、Sequenceノードを追加します。NodeNameを「LookingForPlayer」に変更しておきます。

デコーダーを追加します。

デコレーターとは?
タスクのフローを切り替えるための条件のこと です。

デコーダー Blackboard Based Condition が追加されました。

デコレーター名を「TargetSetting」に変更します。 詳細を以下のように設定します。

LookingForPlayerノードから
▼TasksーMoveToを選択して、MoveToノードを追加します。

BlackboardKeyに「Player」を設定します。

ここまでで、敵キャラクタの基本的な動き(プレイヤーを見つけたら追いかける)ができるようになったはず。。。です。

今回は、AI ブラックボードとビヘイビアツリーについて解説してみました。

次回は、敵キャラクタのフリップブックとブループリントクラスを作成して、今回作成したAI機能を搭載したAIコントローラーブループリントに組み込む作業をしたいと思います。

【UE5】UnrealEngine5でゲーム開発始めました - aki★'s technical-Lab (akihisa-h.com)

-ゲーム制作, UnrealEngine5