剣が当たったら敵のHPを減らす。壊せる箱を撃ったら、その耐久値を減らす。どちらも似た処理ですが、攻撃する側に相手ごとのHP計算を書いていると、無敵時間や防御力を足すときに直す場所が増えてしまいます。
UEの Apply Damage を使うと、攻撃側は「この相手に20ダメージ」と伝え、受け側が自分のルールでHPを減らせます。この記事では、まず正面のCubeを5回の攻撃で倒す仕組みを作り、連打してもすぐには次のダメージが入らない無敵時間を加えます。

この記事でわかること
- ダメージを伝える処理と、HPを減らす処理の役割分担
- Eキーで攻撃し、HP100を20ずつ減らして倒す手順
- 被弾後1秒だけ、追加のダメージを受け付けない仕組み
- Point・Radial Damageの使い分けと、攻撃者・発生源の渡し方
目次
Sponsored
Apply Damageは「ダメージを伝える入口」
Actor は、レベルに配置した敵や箱など、一つひとつの物を表します。Apply Damage は、そのActorを指定してダメージ量を渡すノードです。受け側のBlueprintでは、Event AnyDamage から通知を受けた後の処理を始めます。
たとえば20ダメージを伝えたとき、普通の敵はHP100から80へ、防御中の敵は半分の10だけ減らして90へ、といったルールを受け側に書けます。攻撃側が相手のHP変数を探して書き換える必要はありません。
ここで大切なのは、Apply Damageを呼ぶだけでは、HPも死亡処理も用意されない ことです。HPは自分で作る変数です。「通知を受け取る → HPを減らす → 0なら倒す」という続きも、自分でつなぎます。
