忍者ブログ

非現実的な話

ゲーム、UnrealEngine4などの話題を取り扱います。取り扱う内容は個人の範囲で調べたものなのでご利用は自己責任でお願いします。

【UE4】AIについて(その1)

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

【UE4】AIについて(その1)


先日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につづく。

コメント

プロフィール

UnrealEngine4について調べる。
ゲームはそんなに得意ではない。

ブログ内検索

カレンダー

11 2017/12 01
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

リンク

  • [PR]
    PR