リンドくん
先生、Unityで当たり判定を作りたいんですけど、ColliderとTriggerって何が違うんですか?
たなべ
この2つの使い分けがゲーム開発では超重要なんだ。
簡単に言うと、Colliderは「ぶつかって止まる」判定で、Triggerは「すり抜ける」判定なんだよ。
リンドくん
えっ、すり抜けるのに判定があるってどういうことですか?
たなべ
例えば、アイテムを拾うときって、プレイヤーがアイテムにぶつかって止まったら変だよね?
すり抜けながら「触れた」ことだけを検知したいときにTriggerを使うんだ。詳しく説明していくよ!
ゲーム開発において当たり判定は、プレイヤーと敵の衝突、アイテムの取得、ゴール判定など、あらゆる場面で必要となる基本中の基本です。
Unityでは「Collider」というコンポーネントを使って当たり判定を実現しますが、その中でも通常のColliderとTriggerの違いを理解することが、思い通りのゲームを作る上でとても重要になります。
この記事では、Unity初心者の方に向けて、ColliderとTriggerの基本概念から実際のコードの書き方まで、わかりやすく解説していきます。
HackATAは、エンジニアを目指す方のためのプログラミング学習コーチングサービスです。 経験豊富な現役エンジニアがあなたの学習をサポートします。
✓ 質問し放題
✓ β版公開中(2025年内の特別割引)
Collider(コライダー) とは、Unityのゲームオブジェクトに「当たり判定の形」を与えるコンポーネントです。
Colliderを設定することで、そのオブジェクトは他のオブジェクトと物理的に衝突できるようになります。壁にぶつかって止まる、床の上に立つ、といった挙動はすべてColliderによって実現されています。
Unityには様々な形状のColliderが用意されています。
初心者の方は、まずBox ColliderとSphere Colliderから使い始めるのがおすすめです。
これだけで、そのオブジェクトに当たり判定が追加されます。

いろいろなCollider
Trigger(トリガー) は、Colliderの特殊なモードです。
通常のColliderが「物理的にぶつかって止まる」のに対し、Triggerはオブジェクトをすり抜けながら「触れた」ことだけを検知します。
これが非常に便利なのは、以下のような場面です。
Triggerを使うには、Colliderコンポーネントの「Is Trigger」チェックボックスをONにするだけです。
たったこれだけで、そのColliderはTriggerモードになります。

Is Triggerの位置(Unity 6.2)
リンドくん
なるほど!でも、実際にどう使い分ければいいんですか?
たなべ
ポイントは「物理的に止まってほしいかどうか」で判断することだよ。
壁や床は止まってほしいからCollider、アイテムや判定エリアはすり抜けてほしいからTriggerって感じだね。
| 用途 | Collider | Trigger |
|---|---|---|
| 壁・床・障害物 | ○ | × |
| アイテム取得 | × | ○ |
| ダメージエリア | × | ○ |
| ゴール判定 | × | ○ |
| キャラクター同士の衝突 | ○ | × |
| 索敵範囲 | × | ○ |
基本的な考え方として、物理的な相互作用が必要ならCollider、検知だけが必要ならTriggerと覚えておくと良いでしょう。
ColliderやTriggerの判定を正しく動作させるためには、少なくとも片方のオブジェクトにRigidbodyコンポーネントが必要です。
Rigidbodyは物理演算を行うためのコンポーネントで、これがないと衝突イベントが発生しません。動くキャラクターには基本的にRigidbodyを付けておきましょう。
通常のCollider同士が衝突したときの処理を書いてみましょう。
ポイント解説
OnCollisionEnter - 衝突した瞬間に1回だけ呼ばれるOnCollisionStay - 衝突している間、毎フレーム呼ばれるOnCollisionExit - 離れた瞬間に1回だけ呼ばれるcollision.gameObject - 衝突した相手のオブジェクトを取得できる次に、Triggerモードでの接触検知のコードです。
ColliderとTriggerのコードの違い
| 項目 | Collider | Trigger |
|---|---|---|
| メソッド名 | OnCollision〇〇 | OnTrigger〇〇 |
| 引数の型 | Collision | Collider |
この違いを間違えると動作しないので、注意が必要です。
リンドくん
実際にゲームで使えるサンプルを見てみたいです!
たなべ
じゃあ、よくあるアイテム取得の仕組みを作ってみようか。
プレイヤーがコインに触れたらスコアが増えて、コインが消えるっていうシンプルなものだよ。
コインオブジェクトの設定
プレイヤーオブジェクトの設定
これで、プレイヤーがコインに触れるとスコアが加算され、コインが消えるシステムの完成です。
原因と解決法
原因と解決法
原因と解決法
リンドくん
ColliderとTriggerの違い、よくわかりました!
止めるか止めないかで考えればいいんですね。
たなべ
その通り!最初は迷うかもしれないけど、実際にゲームを作りながら試していけば自然と身につくよ。
まずは簡単なアイテム取得から始めてみてね!
今回は、Unityの当たり判定の基本であるColliderとTriggerの違いと使い分けについて解説しました。
ポイントをおさらいしましょう。
OnCollision〇〇、TriggerはOnTrigger〇〇メソッドを使用当たり判定はゲーム開発の基礎中の基礎です。この概念をしっかり理解しておくことで、キャラクターの移動、アイテムの取得、敵との戦闘など、あらゆるゲームシステムを作れるようになります。
最初は「壁」と「アイテム」のような簡単な例から始めて、徐々に複雑な判定システムに挑戦していきましょう。実際に手を動かしてみることが、理解を深める一番の近道です。
ぜひ今回学んだ内容を使って、自分だけのゲームを作ってみてください!