当たり判定を作りたい。でも、ColliderとTriggerの違いが分からない。
多くの学生が最初に感じるのが、この疑問です。
実は、当たり判定は、ColliderとTriggerの2種類があります。
この記事では、当たり判定の作り方として、2D/3DのCollider・Trigger完全解説を提供します。
✨ この記事でわかること
- ColliderとTriggerの違い
- 2D/3DのColliderの使い方
- 2D/3DのTriggerの使い方
- 実践的な応用例

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

Unityで当たり判定を作るときは、まず「相手を止めたいのか」「反応だけさせたいのか」 を決めることが重要です。
この目的の違いによって、使用する当たり判定がCollider と Trigger のどちらかに分かれます。
Colliderで作る当たり判定(ぶつかって止まる)

Colliderは、オブジェクト同士を実際にぶつからせたいときに使います。
例えば次のような場面です。
- キャラクターが壁にぶつかって進めなくなる
- 床に着地して立ち続ける
- 敵に当たって押し戻される
Colliderを使うと、ゲーム内で“物体として存在する当たり判定”が作れます。
Triggerで作る当たり判定(すり抜けるが反応する)

Triggerは、止めずに反応だけ起こしたいときに使います。
よくある例は次の通りです。
- アイテムに触れた瞬間に取得する
- 攻撃範囲に入ったことを検知する
- 特定エリアに入るとイベント発生
Triggerは、いわば見えないセンサーやスイッチ。
プレイヤーはそのまま通り抜けますが、内部ではイベントが動きます。
まずは「目的」で選ぶのが基本
当たり判定を作るときは、次の基準で判断すると迷いません。
- 止めたい → Collider
- 止めずに反応させたい → Trigger
この目的が分かれば、どちらを使うべきかすぐ判断できるようになります。
ここまでで、ColliderとTriggerの“役割”が整理できました。

次は、この2つが具体的にどう違うのか を機能・挙動・イベントの観点から詳しく比較していきます。
ColliderとTriggerの違い

前項では「相手を止めたいのか」「反応だけさせたいのか」という目的で当たり判定を選ぶ考え方を紹介しました。
ここでは、実際の挙動・設定・イベントという3つの観点から、Collider と Trigger の違いを整理します。
| 項目 | Collider | Trigger | 代表的な用途 |
| 挙動 | ぶつかると止まる | すり抜けるが反応する | 壁・床・キャラクターの体 |
| 物理演算 | 有効(力が加わる) | 基本は無効 | ジャンプ・落下・押し戻し |
| イベント | OnCollisionEnter など | OnTriggerEnter など | ダメージ処理・アイテム取得 |
| Unityでの設定 | Collider を追加 Is Trigger をオフ |
Collider を追加 Is Trigger をオン |
同じコンポーネントで切り替え |
初心者がまず押さえておきたい違いは、とてもシンプルです。
ゲーム中で「キャラクターを止めたいか、止めたくないか」
その判断だけで、使う当たり判定は決まります。
2D/3DのColliderの使い方

Unityでは、2D用と3D用でColliderが分かれています。
使い方はほぼ同じですが、混ぜて使うことはできません。
- 2D: BoxCollider2D、CircleCollider2Dなど
- 3D: BoxCollider、SphereColliderなど
重要なのは名前ではなく、
- 2Dでは「Collider2D系」だけを使う
- 3Dでは「Collider(3D)系」だけを使う
という点です。
2Dと3DのColliderを混ぜると、当たり判定が正しく動作しません。

2Dと3Dで悩んだら、作っているゲームのカメラが2Dか3Dかを基準に選びましょう。選択を間違えると、当たり判定が反応しない原因になります。
2D/3DのTriggerの使い方

2D/3DのTriggerの使い方は、次の通りです。
- Is Triggerを有効にする
- OnTriggerEnterでイベントを検知
- OnTriggerExitでイベントを検知
これらを組み合わせることで、基本的なTriggerができます。
Triggerは、通過判定やイベント検知に使います。
実践的な応用例

当たり判定は、Collider と Trigger を使い分けることで、壁判定・攻撃判定・アイテム取得など、さまざまな処理を作れます。
- 壁の当たり判定: Collider
- アイテムの取得: Trigger
- 敵の攻撃判定: Collider
- エリア判定: Trigger

ここでは、初心者がもっとも作りやすい アイテム取得の例を見てみましょう。
スクリプト例(アイテム取得)
以下は、アイテムを取得するTriggerの簡単な例です。
|
1 2 3 4 5 6 7 8 9 |
void OnTriggerEnter(Collider other) { if (other.CompareTag("Player")) { Destroy(gameObject); } } |
※2Dの場合は、Collider を Collider2D に、OnTriggerEnter を OnTriggerEnter2D に変更すれば使えます。
このコードを設定すると、プレイヤーがアイテムを通過した瞬間にアイテムが消えるようになります。

アイテム取得ができるようになったら、次は「消えないTrigger」に挑戦してみましょう。
回復エリアやダメージゾーンは、Triggerの理解を一段深めるのに最適です。
ColliderとTrigger実装のポイント

実装のポイントは、次の通りです。
- STEP1止めたいか、反応させたいかを決める
当たり判定は、まず「止めたい(Collider)」のか「止めずに反応させたい(Trigger)」のかを明確にします。
ここが曖昧だと、設定がちぐはぐになります。
- STEP22Dと3Dを混ぜていないか確認する
2Dなら Collider2D / Rigidbody2D / OnTriggerEnter2D、
3Dなら Collider / Rigidbody / OnTriggerEnter を使います。
混ざると当たり判定は反応しません。
- STEP3Rigidbodyが付いているか確認する
Trigger・Colliderのどちらも、どちらか一方のオブジェクトに Rigidbody(2D / 3D)が必要です。
付いていないと、イベントが呼ばれません。
- STEP4Colliderのサイズと位置を調整する
Colliderが小さすぎたり、位置がずれていると見た目では当たっていても反応しません。
最初は少し大きめに設定して確認しましょう。
この順にチェックすれば、「当たり判定が動かない」原因をほぼ解消できます。
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる
実践的な当たり判定制作を学ぶには

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

当たり判定の作り方について解説しました。
要点のまとめ
- Colliderは、物理演算による衝突判定に使う
- Triggerは、通過判定やイベント検知に使う
- 2D/3DのColliderの使い方は、基本的に同じ
- 用途に応じて、ColliderとTriggerを使い分ける
基本を押さえれば、あとは応用していくだけです。
まずは、シンプルな当たり判定から始めてみてください。
動かしながら理解を深めていくのが、上達への近道です。
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる



コメント