はじめに
BlenderとUnreal Engine 4の勉強を再開しています。今回の目標は3Dで動かせるキレイなモバイル向けゲームを作ることです。
前回まで
前回はパンチの当たり判定が入ると、敵キャラクターのHPが減るように設定しました。
今回の作業
今回は敵キャラクターのHPが0になったときに破壊されるように設定したいと思います。まず、死亡時のアニメーションが必要なので、いつもどおりMixamoから持ってきました。
※以前やった方法でリターゲットして使用しています。
敵キャラクターのブループリントです。
ダメージを受けると開始し(Event AnyDamage)、
現在のHPからダメージを引いて、Branchを繋ぎます(HPが0以下になったら右に流れる)。
Branchの右にはUnbind Event from OnTakeAnyDamageを繋いでいます(左のイベントを切り離して、Dyingのイベントを開始)。
さらにカプセルコンポーネントをなくしてから(DestroyComponent)、
死亡時のアニメーションを再生して(Play Animation)、
動かなくして(Detach from Controller Pending Destroy)、
5秒後に敵キャラクターを破壊します(Delay→DestroyActor)。
ただし、上の設定だけではうまく敵が破壊されませんでした。
どうやら前回までに設定していた被ダメージ(Take Damage)の設定では、
敵のHPにダメージを与えたこと(Apply)になっていない?ようで便宜上 Apply Damage を追加しました。
くちゃくちゃですが、とりあえずこれで動かしてみます。
※あとでTake DamageとApply Damageの場所を入れ替えました(こちらのほうがうまく動いたので)。
ここまで
これで攻撃してHPが0になった敵キャラクターを破壊する設定ができました。
手探りなのでうまくできているのかわかりませんが、止まらずにどんどん進めていきたいと思います。
次回も続きを作っていきたいと思います。
(今回の作業時間:90分)
>次の記事
<前の記事