敵が攻撃して逃げて隠れる→再び出てきて敵が攻撃して逃げて隠れるというAI。
VRゲーム用にAIのやり直し。先は長いけど繰り返し学習して身につく。#UE5 #アンリアルエンジン pic.twitter.com/vyfxjwjN50
— ハマーキーUE (@Hummerkey_UE) October 22, 2023
敵AIの第3回になります。過去記事で作成したものが必須になります。
敵AI:敵がルートを巡回しプレイヤーや音に気付くと反応
敵AI 2:敵が間合いを取りながら攻撃してくる
記事は自分でやり直す時のために簡単にまとめているものですから、学習するなら参考元の
Ali Elzoheiry氏のSmart Enemy AI Tutorial Seriesの動画を視聴してください。
環境クエリ
名前: EQS_FindCover
新規作成。
SimpleGridで右クリックしテストを追加 > PathFinding。
設定変更は不要。
SimpleGridで右クリックしテストを追加 > Trace。
※Context Height Offsetは100でもいいと思います。
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にする。
テストプレイ
BP_EnemyBaseにPatrol Routeをセットしているなら解除してください。
BP_EnemyBaseのコリジョンのトレース応答 > Visibilityがブロックになっていると、プレイヤーの視界が敵の体で遮られるためプレイヤーから見た敵の背中側の死角が「隠れられる場所」として認知されてしまいます。ブロックではなく無視するかオーバーラップにしましょう。
参考元
Smart Enemy AI | (Part 4: EQS) | Tutorial in Unreal Engine 5 (UE5) | Youtube
コメント