敵AI 13:魔術師の弾幕魔法

魔術師タイプの敵が連続して魔法弾を撃ちます。

Ali Elzoheiry氏のチュートリアルから学ぶ敵AIの第13回になります。過去記事で作成したものが必須になります。
敵AI:敵がルートを巡回しプレイヤーや音に気付くと反応
敵AI 2:敵が間合いを取りながら攻撃してくる
敵AI 3:敵が逃げて隠れて再び攻撃してくる
敵AI 4:近距離タイプと遠距離タイプの敵を分ける
汎用性と拡張性の高いダメージシステム
プロジェクタイル(Projectile)の基本
敵AI 5:敵の攻撃とブロック
敵AI 6:プレイヤーを見失った敵が捜索を始める
敵AI 7:NavLinkProxyで敵にジャンプさせる 
敵AI 8:集団の敵の攻撃タイミングの管理
敵AI 9:AIが敵と味方を区別して戦うようになるチームバトル
AOE(Area of Effect)
敵AI 10:中ボスクラスの魔術師
敵AI 11:敵のジャンプ攻撃
敵AI 12:敵の回転斬り

記事は自分でやり直す時のために簡単にまとめており、独自の仕様にもなっていますから、学習するなら参考元のAli Elzoheiry氏のSmart Enemy AI Tutorial Seriesの動画を視聴してください。
Smart Enemy AI | (Part 17: New Magic Spell) | Tutorial in Unreal Engine 5 (UE5) | Youtube

必要なもの

弾幕魔法のアニメーション

AnimMontageを作成。

AnimMontageのタイムラインに弾幕魔法のアニメーションシーケンスを2つ追加し、合計3つにする。

1つめのアニメーションシーケンスの
End Timeを0.65
Play Rateを0.7

2つめのアニメーションシーケンスの
Start Timeを0.65
End Timeを0.8
Play Rateを0.7

3つめのアニメーションシーケンスの
Start Timeを0.8
Play Rateを0.8

8*(0.28)(5.75%)あたりにPlay Particle Effectを配置。
P_Gideon_EmoteFX_HandsをセットしてSocket Nameをhand_rにする。
Scaleを全て1.2にする。
右手に纏わりつくような魔法のオーラです。
左手にも同じようにセットしますので、
8*(0.28)(5.75%)あたりにPlay Particle Effectを配置。
P_Gideon_EmoteFX_HandsをセットしてSocket Nameをhand_lにする。

56*(1.90)(18.98%)にNotify Montageを配置。名前をFireにする。
これを複製し、0.4秒毎に配置し、1.9、2.3、2.7、3.1、3.5と計5つ配置。

5つのFireとそれぞれ同じタイミングにPlay Particle Effectを配置。
P_Primary_CastをセットしてSocket Nameをhand_rにする。
自分の使用しているメッシュに合わせてLocation Offsetを調整。

プロジェクタイル: BP_Projectile_BarrageMagic

ファイアボール(魔法弾)のプロジェクタイルを複製して名前をBP_Projectile_BarrageMagicにしました。

コンポーネントのParticleSystemにP_Gideon_Primary_Projectileをセット。
拡大・縮小(Scale)を全て1.2にする。
BoxCollisionに合わせて位置を移動。

列挙型: E_Mage_Attacks

エニュメレーター
Default
BasicAttack
BarrageAttack

BPC_Attacks

ノードを編集 Fireball
・既存のカスタムイベント Fireballを変数AltのTure/Falseの切替でBarrageMagic(弾幕魔法)と共用。

【Fireball: インプット】Alt – Boolean
Classと繋がっている選択する(Select)はReturn Valueのピンで右クリックしてピンの種類を変更 > BP_ProjectileBase (クラス参照)を選択。

敵BP: BP_EnemyMage

イベントグラフ BarrageAttack

【BarrageAttack: インプット】AttackTarget – Actor

タスク: BTTask_MageAttack

作成済。

関数: AttackBasedOnName
ノードを編集

【インプット】MageRef – BP_EnemyMage
【変数】AttackName – E_Mage_Attacks
イベントグラフ
ノードを編集

ビヘイビアツリー: BT_EnemyMage

ビヘイビアツリーを編集

コメント

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