敵AI 3:敵が逃げて隠れて再び攻撃してくる

敵が攻撃して逃げて隠れる→再び出てきて敵が攻撃して逃げて隠れるというAI。


敵AIの第3回になります。過去記事で作成したものが必須になります。
敵AI:敵がルートを巡回しプレイヤーや音に気付くと反応
敵AI 2:敵が間合いを取りながら攻撃してくる

記事は自分でやり直す時のために簡単にまとめているものですから、学習するなら参考元の
Ali Elzoheiry氏のSmart Enemy AI Tutorial Seriesの動画を視聴してください。

環境クエリ

BP: AI > 環境クエリ
名前: EQS_FindCover
新規作成。
ルートから線を伸ばしてPoints: Gridを配置。

SimpleGridで右クリックしテストを追加 > PathFinding
設定変更は不要。

SimpleGridで右クリックしテストを追加 > Trace
※Context Height Offsetは100でもいいと思います。0だと腰くらいの低い遮蔽物の後ろも見えなくなってしまいます。

SimpleGridで右クリックしテストを追加 > Distance

ビヘイビアツリー

前回までに作成したAttack(Sequence)Strafe(Selector)を一時的に切断します。

FindCover(Sequence)

BTTask_SetMovementSpeedのSpeedをSprintingにする。

Run EQS QueryにEQS_FindCoverを選択する。
Blackboard KeyにPointOfInterestを選択する。

Move ToのAcceptable Radiusを10.0にする。
Blackboard KeyにPointOfInterestを選択する。

BTTask_MoveToIdealRangeのAttack TargetをAttackTargetにする。
Ideal RangeをAttackRadiusにする。

BTTask_DefaultAttackのAttack TargetをAttackTargetにする。

テストプレイ

レベルに設置済のBP_EnemyBaseを削除して、新規で配置してテストしましょう。
配置済のアクターを使うと不具合が発生しやすい印象です。

参考元

Smart Enemy AI | (Part 4: EQS) | Tutorial in Unreal Engine 5 (UE5) | Youtube

コメント

タイトルとURLをコピーしました