先日UMGについての記事を書きましたが、飽きたので消しました。
今回はUE4に実装されているAIについてです。
AIの実装は結構手間と覚えることが沢山あり、習得するのに骨がおれそうです。
また、AIに関する情報もまだあまり出回っていないようです。
【AIに関する情報】
AI&ビヘイビアツリー(公式ドキュメント)
こちらを見ると基本的なAI、ビヘイビアツリーについて学ぶことができます。
[UE4] ビヘイビアツリー(BehaviorTree)の使い方 入門編
ヒストリアさまのブログにも情報があります。
ビヘイビアツリーについて分かりやすく解説されています。
さて、ではAIを構築するのにはどういった手順が必要なのか、
公式ドキュメントを元に分かりやすく纏めてみましょう(自分用メモ)。
・準備するもの
AIの構築にあたり、ドキュメントのクイックスタートガイドでは、
初めに以下の4つを準備します。
(1)Character ・・・ AIで制御するキャラクター
(2)AIController ・・・ AI全体を制御するアクター
(3)BlackBoard ・・・ AI共通で使用するデータの管理
(4)BehaviorTree ・・・ キャラクターのAI制御
(1)Character
ドキュメントではCharacterクラスを継承したブルーマンを準備していますが、
必ずしもCharacterである必要はなく、Pawnなどを継承しても問題ありません。
(2)AIController
AI制御のキモとなるアクターです。
Actor→Controller→AIControllerのような継承関係であり、
プレイヤー制御を行うPlayerControllerと同じ継承関係です。
PlayerControllerはゲーム上で必ず存在する対し、
AIControllerも同様にAIを使わない場合でも必ず存在します。
(CharacterやPawnが持っています)
(3)BlackBoard
AI共通で使用するデータの管理、受け渡しなどをするためのテーブルです。
受け渡しには、以下図の赤枠に示すKey情報を元に行います。
そのためテーブルにデータを追加する際もキーを追加する形となります。
ブループリントに変数を追加する時と同じような要領でキーの追加ができますが、
配列での扱いは存在しません。
BlackBoardで定義するキーはBlueprintでの変数とは異なりBlackBoard独自の振る舞い
をするためです。
(4)BehaviorTree
AIをシーケンシャルに制御するための制御ツリーです。
以下、5つのノードから構成されており、ビヘイアツリーエディタでツリーを
構築することができます。
各ノードに関する解説はヒストリアさまのブログで解説されています。
以上、AIを構築する4つのアイテムに関してです。
これらを活用し、次回はAIの構築にはいります。
その2につづく。