Unreal Engine 5(UE5)では、アクター同士の接触や衝突を検出するために「Overlap」と「Hit」という2種類のイベントが用意されています。

これらはどちらも接触に関係するイベントですが、用途・発生条件・取得できる情報が異なるため、正しく使い分ける必要があります。

Overlapとは?

Overlap(オーバーラップ)は、2つのコリジョンが物理的な押し返しなしに、重なったときに発生するイベントです。つまり、すり抜けるように接触が起きたときに使われます。

例えば:

  • プレイヤーがトリガーゾーンに入ったとき
  • 範囲攻撃が敵に触れたとき
  • アイテムを拾うための当たり判定

Overlap では物理的な衝突は発生せず、イベントで通知するだけです。

Hitとは?

Hit(ヒット)は、2つのコリジョンが物理的にぶつかり、押し返されるときに発生します。壁にぶつかる、物体が跳ね返る、などが典型的な例です。

例えば:

  • プレイヤーが壁にぶつかる
  • ミサイルが敵に当たって爆発する
  • 物理オブジェクトが床に落ちて跳ねる

Hit イベントは、衝突点(Impact Point)や法線ベクトルなどの詳細な情報も取得できます。

主な違いの比較

以下の表で、Overlap と Hit の違いを簡単にまとめます。

項目 Overlap Hit
物理挙動 なし(すり抜ける) あり(押し返される)
使用用途 トリガー、当たり判定、拾得判定など 衝突検出、爆発、跳ね返りなど
情報の取得 相手のアクター・コンポーネント ImpactPoint、Normal、Hit Location など
イベント名(BP) OnComponentBeginOverlap など OnComponentHit など

Overlapを使うべき場面

Overlap は以下のような状況で非常に便利です。

  • 当たり判定だけ欲しいとき(エフェクト、範囲攻撃など)
  • プレイヤーがゾーンに入ったことを検知したい
  • アイテムやトリガーを通過可能にしたい

軽量かつ柔軟なので、多くの状況で活躍します。

Hitを使うべき場面

Hit はより物理的なリアリティが必要なときに使います。

  • 爆発や着弾点を正確に取得したい
  • プレイヤーや物体を押し返したい
  • 跳ね返り、跳ね上がりなどを表現したい

より精密な物理挙動や、接触の詳細な情報が必要な場面に適しています。

どちらを使うか迷ったら?

以下のように判断するのがおすすめです:

  • 「すり抜けても良い」→ Overlap
  • 「ぶつかるべき」→ Hit
  • 「正確な位置が欲しい」→ Hit
  • 「軽い処理がしたい」→ Overlap

まとめ

UE5では、「Overlap」と「Hit」の使い分けがゲームのクオリティや最適化に大きく影響します。

どちらも強力な検出手段ですが、それぞれの特徴を理解し、目的に応じて正しく選択しましょう。

特にマルチプレイや高負荷なシーンでは、無駄なHitを避け、Overlapで効率化するなど、最適化にもつながります。

状況に応じてOverlapとHitを賢く使いこなし、より完成度の高いゲーム制作を目指しましょう!