プレイヤーを見失った敵が捜索を始めるAI。
Ali Elzoheiry氏のチュートリアルから学ぶ敵AIの第6回になります。過去記事で作成したものが必須になります。
敵AI:敵がルートを巡回しプレイヤーや音に気付くと反応
敵AI 2:敵が間合いを取りながら攻撃してくる
敵AI 3:敵が逃げて隠れて再び攻撃してくる
敵AI 4:近距離タイプと遠距離タイプの敵を分ける
汎用性と拡張性の高いダメージシステム
敵AI 5:敵の攻撃とブロック
記事は自分でやり直す時のために簡単にまとめており、独自の仕様にもなっていますから、学習するなら参考元のAli Elzoheiry氏のSmart Enemy AI Tutorial Seriesの動画を視聴してください。
AIコントローラー: AIC_EnemyBase
関数: HandleForgotAcot
新規作成。
関数: HandleLostSight
新規作成。
イベントグラフ
環境クエリ: EQS_Seeking
BP: AI > 環境クエリ
名前: EQS_Seeking
名前: EQS_Seeking
ビヘイビアツリー: BT_SubTree_Seeking
BP: AI > ビヘイビアツリー
名前: BT_SubTree_Seeking
新規作成。
名前: BT_SubTree_Seeking
新規作成。
ビヘイビアツリーを組む

・BTTask_SetMovementSpeedのSpeedはSprinting。
・Move ToのBlackborad KeyはPointOfInterest。
・Waitは1秒。
・LoopのNum Loopsは5。
・Run EQS QueryのQuery TemplateはEQS_Seeking、Blackborad KeyはPointOfInterest。
・BTTask_SetMovementSpeedのSpeedはJogging。
・Move ToのBlackborad KeyはPointOfInterest。
・BTTask_FocusのFocus TargetはPointOfInterest。
※BTTask_FocusTargetから名前変更してBTTask_Focusにしています。変数のAttackTargetKeyもFocusTargetに名前変更しています。
・Waitは1秒。

・BTTask_SetMovementSpeedのSpeedはSprinting。
・Move ToのBlackborad KeyはPointOfInterest。
・Waitは1秒。
・LoopのNum Loopsは5。
・Run EQS QueryのQuery TemplateはEQS_Seeking、Blackborad KeyはPointOfInterest。
・BTTask_SetMovementSpeedのSpeedはJogging。
・Move ToのBlackborad KeyはPointOfInterest。
・BTTask_FocusのFocus TargetはPointOfInterest。
※BTTask_FocusTargetから名前変更してBTTask_Focusにしています。変数のAttackTargetKeyもFocusTargetに名前変更しています。
・Waitは1秒。
ビヘイビアツリー: BT_EnemyBase & BT_EnemyMelee & BT_EnemyRanged
BT_EnemyBaseとBT_EnemyMeleeとBT_EnemyRangedにBT_SubTree_Seekingを追加します。
ビヘイビアツリーを組む

・CombatStateの次(右)にRunBehaviorを配置しますが、InvestigatingStateを複製して編集するのが楽です。
・Blackboard Based Conditionのオブザーバーを中止はBoth、Blackboard KeyをState、Key ValueはSeeking。
・ついでにInvestigatingStateとPassiveStateのBlackboard Based Conditionもオブザーバーを中止はBothに変更します。
※画像だとCombatState (Selector)から下の線が消えていますが、実際は繋がっています。

・CombatStateの次(右)にRunBehaviorを配置しますが、InvestigatingStateを複製して編集するのが楽です。
・Blackboard Based Conditionのオブザーバーを中止はBoth、Blackboard KeyをState、Key ValueはSeeking。
・ついでにInvestigatingStateとPassiveStateのBlackboard Based Conditionもオブザーバーを中止はBothに変更します。
※画像だとCombatState (Selector)から下の線が消えていますが、実際は繋がっています。
コメント
buy sildenafil online paypal
Outstanding feature