UE4ゲーム制作入門十九日目

一人UE4ゲーム制作入門アドベントカレンダー十九日目です。

昨日の続きで、ボスAIの中身です。

攻撃開始時

攻撃開始タスクから呼び出してるAnimStartでは、更にBP_EnemyBossのSetAnimState関数を呼び出して、引数を渡しています。

AnimStart.png

さらに、呼ばれている関数ですが、アニメーションブループリントのアニメーション管理用の変数にセットしています。この変数が変わるとアニメーションが切り替わるように設定しています。

ANimStartBoss.png

アニメーションの通知イベントごとにAI側で作った関数を呼んでます。アニメーションスタートだけ今のとこやることがないのと、別のに変えてしまったので放置してる状態です。

ABP_Bossのイベント関連

AttackStartから行きます。AIの関数を呼んでいますが、これもBP_EnemyBossの関数を呼んでいるだけなので、そっちは飛ばします。

BP_EnemyBossの方では、攻撃用のコリジョンを有効にしたりしてます。遠距離攻撃ではBP_Weaponのほうで更に処理を行いますが、未実装です。

AttackStart関数

AttackEndでは攻撃判定やフラグを消したり折ったりしています。

AttackEnd関数1

AttackEnd関数2

次はAnimEndです。こちらは多少変なことになってますが、開始時にエラーメッセージを吐かれたので、変数に設定ができていなくてアクセスできないならば、もう一回コントロールしているBP_EnemyBossをキャストして取得してやり直しています。

その後に、今のアニメーションの状態が待機モーションであるなら攻撃開始フラグを、そうでないなら攻撃をしていたはずなので、次のアニメーションに待機モーションへと移行し、次の攻撃をセットするフラグを立てています。

AnimENd.png