プレイヤーを追う敵にNavLinkProxyを使ってジャンプさせます。
Ali Elzoheiry氏のチュートリアルから学ぶ敵AIの第7回になります。過去記事で作成したものが必須になります。
敵AI:敵がルートを巡回しプレイヤーや音に気付くと反応
敵AI 2:敵が間合いを取りながら攻撃してくる
敵AI 3:敵が逃げて隠れて再び攻撃してくる
敵AI 4:近距離タイプと遠距離タイプの敵を分ける
汎用性と拡張性の高いダメージシステム
敵AI 5:敵の攻撃とブロック
敵AI 6:プレイヤーを見失った敵が捜索を始める
記事は自分でやり直す時のために簡単にまとめており、独自の仕様にもなっていますから、学習するなら参考元のAli Elzoheiry氏のSmart Enemy AI Tutorial Seriesの動画を視聴してください。
BPインターフェース: BPI_EnemyAI
関数: JumpToDestination
インプット
Destination – Vector
敵BP: BP_EnemyBase
イベントグラフ
NavLinkProxy: NavLink_EnemyAI
親クラス: NavLinkProxy
名前: NavLink_EnemyAI
新規作成。
Smart Link Is Relevantにチェックを入れる
詳細のスマートリンク > Smart Link Is Relevantにチェックを入れる。
イベントグラフ
AIコントローラー: AIC_EnemyBase
変数を作成
TimeToSeekAfterLosingSight – Float ※デフォルト値3.0
SeekAttackTargetTimer – Timer Handle
イベントグラフ
関数: HandleLostSight
関数: HandleSensedSight
レベルにNavLink_EnemyAIを配置
まずNavLink_EnemyAIをレベルにドロップして配置。
Pキーを入力してスマートリンクを可視化する。
シンプルリンクは使わないので詳細のゴミ箱アイコンをクリックして消す。
詳細のスマートリンクのLink Relative StartとLink Relative Endを使用してスマートリンクの位置を調整する。
ジャンプさせたいので段差があるところに配置します。
テストプレイしてみると、段差の上にいるプレイヤーに気付いた敵はNavLink_EnemyAIのスマートリンクを認識し、ジャンプして上ってきます。
コメント