19.

UE5のEvent Any Damageとは?

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!

UE5のEvent Any Damageとは?

Unreal Engine 5(UE5)には、ダメージ処理を簡単に行うためのイベントがいくつか用意されています。その中でもEvent Any Damageは、アクターが受けるあらゆるダメージをキャッチするためのイベントです。

Event Any Damageの基本的な仕組み

このイベントは、アクターがダメージを受けたときに呼び出されます。たとえば、敵キャラクターがプレイヤーに攻撃されたり、爆発のダメージを受けたりすると、このイベントが発火します。

このイベントの入力パラメータは以下の通りです。

  • Damage(float):受けたダメージの数値
  • DamageType(DamageType):ダメージの種類
  • InstigatedBy(Controller):ダメージを与えたコントローラー
  • DamageCauser(Actor):ダメージを与えたアクター

Event Any Damageの実装方法

Blueprint(BP)を使用してこのイベントを実装する方法を紹介します。

  1. ダメージを受けるアクターのBPを開く。
  2. Event Any Damage」を追加。
  3. 受け取ったダメージを処理するノードを追加(例:体力を減少させる)。
  4. 必要に応じて、ダメージの種類やダメージを与えたアクターを判定し、特定の処理を行う。

実装例:ダメージを受けるとHPを減少させる

以下のようにBPを組むことで、ダメージを受けた際にHPを減らす処理が可能です。

  • 変数 Health(float)を作成し、初期値を100に設定。
  • Event Any Damage を追加し、Damage の値を Health から引く。
  • HPが0以下になった場合、アクターを破壊する(Destroy Actor)。

Event Any Damageを活用した応用例

このイベントを応用することで、より複雑なダメージ処理が可能になります。

  • ダメージの種類によって処理を変える(例:炎ダメージは時間経過で継続ダメージ)。
  • 特定の攻撃だけ防ぐシールド機能の実装。
  • ダメージを受けた際にエフェクトやサウンドを再生。

ダメージを与える側の処理

ダメージを受ける処理だけでなく、ダメージを与える処理も重要です。UE5では、Blueprintを使って簡単に攻撃やダメージ処理を実装できます。

ダメージを与える方法

UE5では、Apply Damageノードを使用してアクターにダメージを与えることができます。このノードの使い方は以下の通りです。

  1. 攻撃を行うアクターのBPを開く。
  2. Apply Damage」ノードを追加。
  3. ターゲット(攻撃対象)を設定。
  4. ダメージ量を指定。
  5. 必要に応じて、ダメージタイプや攻撃者を設定。

実装例:近接攻撃でダメージを与える

以下の方法で、近接攻撃を当てた相手にダメージを与えることができます。

  • 武器のコリジョンを使用して、敵に当たったかを判定。
  • ヒットした場合、Apply Damageを実行。
  • ダメージ値を指定し、ターゲットにダメージを適用。

遠距離攻撃のダメージ処理

銃や弓矢などの遠距離攻撃の場合、Line Trace(ライン判定)を使用することで命中判定を行えます。

  1. プレイヤーが攻撃ボタンを押したとき、Line Traceを発射。
  2. ヒットしたアクターが敵であるか判定。
  3. 敵であれば、Apply Damageを実行。

まとめ

UE5では、Event Any Damageを使用してダメージを受ける処理を実装し、Apply Damageを使ってダメージを与える処理を実装できます。近接攻撃や遠距離攻撃に応じた適切な方法を選び、リアルなダメージ処理を実装しましょう。

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
  1. Event BeginPlay
  2. Event ActorBeginOverlap
  3. Event Tick
  4. on component begin overlap
  5. On Component Hit
  6. CameraBoom(Spring Arm)
  7. Get Player Character
  8. Nav Mesh Bounds Volume
  9. AI MoveTo
  10. Pawnと
  11. Create Render Target 2D
  12. Take High Res Screenshotノード
  13. Sphere Reflection Capture
  14. Event Tickノード
  15. ウィジェットのキャンバスパネル
  16. DefaultSceneRoot
  17. FloatingPawnMovement
  18. Set World Rotation
  19. Event Any Damage