前回まではドキュメントのクイックスタート、
ビヘイビアツリーについて調べてみました。
今回は自作AIの構築・・・に入る前にもう一つAIを調べてみます。
さて、今回使用するのは、サンプルプロジェクトの「ShooterGame」です。
このプロジェクトには予めAIを実装した「BotPawn」というアセットが入っています。
こちらを使用していきます。
まずはAIの挙動を確かめるために適当にマップ上に配置してみます。
ブループリント「BotPawn」を選択、ドラック&ドロップでマップ上に置きます。
GameStartの近くに置くとより分かりやすいです。
配置が完了したら「Play」で実行します。
ゲーム開始するとAIが動作する様子が分かるかと思いますが、
敵キャラクターがプレイヤーを攻撃します。
上記で動作確認できたら、今度はプレイヤーから離れた位置に「BotPawn」を置いてみます。
しばらくすると、敵が近づいてきてプレイヤーを攻撃します。
BotPawnはプレイヤーを積極的に攻撃するAIを持っているようです。
では詳細な処理を見てみましょう。
AIの処理フローはビヘイビアツリーを見るとわかります。
BotPawnが有するAIのビヘイビアツリー「BotBehavior」を
ContentBrowserから検索し開きます。
上記赤枠のように、大きく分けて4つの動作を行います。
・プレイヤーへの攻撃
・弾の補充
・プレイヤーの索敵、接近
・待機
これらはクイックスタートで学習したように、サービス、デコレータ、タスクによって構成されています。「ShooterGame」はC++も使用したサンプルであり、BotPawnのAIを構築する上でもC++を使用しています。以下、AIを構成するアセットの一覧で、赤字の箇所がC++に該当する箇所となります。
※BB : BlackBoard、BT : BehaviorTree
今回はここまで、次回は各アセットの内容、処理についてです。
Blueprint、BehaviorTreeを中心に調べる予定です。
その5につづく。
1. 大変参考になりました
チームでゲームを作り始めているのですがAI部分を担当することになり、
リファレンスやサンプルを見てもよくわからなかったので一連の記事は大変参考になりました。
ShooterSampleのAI部分は盲点でした。てっきりC++で作られていると思い見逃していました。
今後の記事にも期待しております。ありがとうございました。