1対1戦闘AIを作る

1. 準備

1-2. データを準備

Enumerationの「E_BushiState」を作成。

Structureの「S_AIBushiData」を作成。

Data Tableの「DT_AIBushiData」を作成。

2.ステートを定義

ステートを定義する。

3. AIコントローラに敵リストを更新する機能を作る

AIコントローラーに索敵の機能を作っていく。
[CT_Bushi]を開く。
[Components]パネルから[AIPerception]を追加する。

AIPerceptionの[Details]パネルを以下のようにして視覚を設定する。

敵のアクターを管理するリスト変数「EnemiesList」を作成。

検知したアクターをタグ情報によって振り分け、敵アクタリストに追加・削除する関数「FindEnemy」を作成する。


移動

EnemiesListの中から攻撃目標を決める関数「DecideTarget」を作成する。
Actor型の変数「Target」、Actor型のローカル変数「TempActor」、Float型のローカル変数「TempDistance」を作成する。

今回は自分から最も近い敵を攻撃目標とする。


[AIPerception]の[Details]パネル > [Events] > [OnPerceptionUpdate]のプラスボタンをクリックして、視覚の更新イベントを作成する。



4. アニメーションブループリントを作成

defaultSlotを追加



5. ビヘイビアツリーを作る

5-1. ブラックボードキーを定義