攻撃判定を作りたい。でも、HitBoxとHurtBoxの違いが分からない。
多くの学生が最初に感じるのが、この疑問です。
実は、HitBoxとHurtBoxを理解すれば、正確な攻撃判定が作れます。
この記事では、攻撃判定の作り方について、HitBoxとHurtBoxの設計と優先度管理を解説します。
✨ この記事でわかること
- HitBoxとHurtBoxの違い
- 設計の基本原則
- 優先度管理の方法
- Unityでの実装例

HitBoxとHurtBoxは、攻撃判定の基本です。まずは、それぞれの違いを理解しましょう。
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる
あなたのオリジナルゲーム、今年こそ完成させませんか?
RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。
実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。
HitBoxとHurtBoxの違い

HitBoxとHurtBoxは、攻撃判定の基本概念です。
- HitBox:攻撃を出す側の判定
- HurtBox:攻撃を受ける側の判定
HitBoxとHurtBoxが重なると、攻撃が当たったと判定されます。
この仕組みを理解すれば、正確な攻撃判定が作れます。
設計の基本原則

攻撃判定の設計には、次の原則があります。
- HitBoxは、攻撃の範囲に合わせて設定
- HurtBoxは、キャラクターの体に合わせて設定
- サイズを適切に設定する
- 位置を正確に設定する
これらを意識することで、正確な攻撃判定が作れます。
特に、サイズと位置の設定が重要です。

攻撃判定の設計は、実際に動かしながら調整するのがコツです。感覚的に「正しい」と感じる範囲を見つけましょう。
優先度管理の方法

優先度管理は、複数の攻撃判定が重なった時の処理順序を管理することです。
優先度管理を理解すると、強攻撃が弱攻撃に負けるといった理不尽な判定を防げます。
主な方法は次の通りです。
- 攻撃の種類に優先度を付ける
- 強力な攻撃を優先する
- 先に発生した攻撃を優先する
これらを実装することで、適切な優先度管理ができます。
Unityでは、攻撃の種類をenumで管理するのが一般的です。
Unityでの実装例

Unityでの攻撃判定の実装例を紹介します。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
using UnityEngine; public class HitBox : MonoBehaviour { [SerializeField] private int damage = 10; [SerializeField] private int priority = 1; void OnTriggerEnter2D(Collider2D other) { HurtBox hurtBox = other.GetComponent<HurtBox>(); if (hurtBox != null) { hurtBox.TakeDamage(damage, priority); } } } public class HurtBox : MonoBehaviour { private int currentPriority = 0; public void TakeDamage(int damage, int priority) { if (priority > currentPriority) { currentPriority = priority; // ダメージ処理 } } } |
このコードで、HitBoxとHurtBoxを使った攻撃判定が実装できます。
priorityの値が大きいほど、優先度が高くなります。
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる
実践的な攻撃判定を学ぶには

ここまで、攻撃判定の作り方について解説してきました。
ただし、実際のゲーム制作では、さらに多くの要素が必要になります。
アニメーション、エフェクト、UI、サウンドなど、全体を体系的に学ぶには、専門の講座が効率的です。
Unity入門の森では、アクションゲームの作り方を、基礎から完成まで丁寧に解説しています。
コードの意味から、なぜその実装方法を選ぶのかまで、しっかり理解できる内容になっています。
アクションゲーム制作に特化した講座なら、効率的にスキルアップできます。
ゲーム制作でスキルを上げたい方は、ぜひチェックしてみてください。
あなたのオリジナルゲーム、今年こそ完成させませんか?
RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。
実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。
まとめ

攻撃判定の作り方について解説しました。
攻撃判定が安定すると、アクションゲームの完成度は一気に上がります。
要点のまとめ
- HitBoxは、攻撃を出す側の判定
- HurtBoxは、攻撃を受ける側の判定
- サイズと位置を適切に設定する
- 優先度管理で、複数の攻撃判定を処理する
基本を押さえれば、あとは応用していくだけです。
まずは、ここで紹介したコードを実際に動かしてみてください。
動かしながら理解を深めていくのが、上達への近道です。
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる



コメント