当たり判定がガバガバになってしまう。
多くの学生が最初に感じるのが、この問題です。
実は、ガバガバな当たり判定は、設定のミスが原因です。
この記事では、当たり判定がガバガバになる原因として、NG設定と改善チェックリストを解説します。
✨ この記事でわかること
- ガバガバな当たり判定の原因
- NG設定のチェックリスト
- 改善方法の実装
- 精度を上げる方法

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

当たり判定がガバガバになる原因は、単なる「設定ミス」ではありません。
多くの場合、Unityの物理挙動やCollider・Rigidbodyの仕組みを十分に理解しないまま設定していることが原因です。
特に初心者がつまずきやすい原因は、次の4つです。
- Colliderのサイズが大きすぎる
- Colliderの位置(Pivot)がずれている
- Rigidbodyの設定が物理挙動と合っていない
- レイヤーの衝突設定が正しくない
以下で、それぞれの原因を具体的に解説します。
① Colliderのサイズが大きすぎる
Colliderがキャラクターの見た目よりも大きいと、実際には触れていないのに衝突判定が発生します。
その結果、「当たっていないのに当たったように見える」「攻撃が届いていないのにヒットする」といった違和感が生まれます。
特に多い例が、足元や頭の周囲までColliderが広がっているケースです。
この場合、ジャンプや着地の判定も不自然になり、全体的にガバガバな当たり判定に見えてしまいます。
② Colliderの位置がずれている
Colliderの中心(Pivot)がキャラクターモデルの中心と合っていない場合も要注意です。
見た目とColliderの位置がズレていると、プレイヤーが「当たっていない」と感じる位置で判定が発生します。
・見た目より左にColliderがずれている
・敵の攻撃が空振りしているように見えるのにダメージを受ける
SceneビューでColliderを可視化し、見た目と一致しているか必ず確認しましょう。
③ Rigidbodyの設定が不適切
Rigidbodyの設定ミスも、ガバガバな当たり判定の大きな原因です。
特に注意したいのが以下の項目です。
- Collision Detection が「Discrete」のまま
- Interpolate が無効
- IsKinematic を誤って有効化している
高速で移動するオブジェクトの場合、Collision Detectionが「Discrete」のままだと、移動途中の衝突を検知できず、すり抜けが発生します。
この状態では、「当たっているのに反応しない」「判定が不安定」に感じられ、結果としてガバガバな当たり判定だと誤解されがちです。
④ レイヤー設定が不適切
意外と見落とされがちなのが、レイヤーの衝突設定です。
Unityでは、Layer Collision Matrixによって「どのレイヤー同士が衝突するか」が制御されています。
ここでプレイヤーと敵、攻撃判定のレイヤーがそもそも衝突しない設定になっていると、見た目上は重なっていても衝突判定が一切発生しません。
初心者が「設定は合っているはずなのに当たらない」と混乱する原因の多くが、このレイヤー設定です。
まずは、Physics設定画面でレイヤー同士のチェックが入っているかを確認しましょう。
このように、ガバガバな当たり判定は複数の要因が重なって発生します。

次の章では、これらの原因を一つずつ潰していくためのNG設定チェックリストを解説します。
NG設定のチェックリスト

NG設定のチェックリストは、次の通りです。
| 項目 | NG設定 | 推奨設定 |
| Colliderのサイズ | 大きすぎる | 適切なサイズ |
| Colliderの位置 | ずれている | 正確な位置 |
| Rigidbodyの設定 | 不適切 | 適切な設定 |
これらの項目を確認することで、ガバガバな当たり判定を防げます。
特に、Colliderのサイズを適切に設定することが重要です。

NG設定を確認することで、ガバガバな当たり判定を防げます。まずは、Colliderのサイズから確認してみてください。
当たり判定を改善する方法(設定と実装例)

当たり判定のズレや不安定さは、ほとんどの場合、設定の見直しだけで改善できます。
そのため、まずは Collider・Rigidbody・レイヤー設定 など、基本的な項目を順番に確認することが重要です。
以下では、初心者でも迷わないように設定の確認手順 → 必要に応じた実装例 の順で解説します。

設定を見直しても改善しない場合は、後半の実装例を参考にしてください。
改善手順(STEP1〜4)
改善方法の実装は、次の手順で進めます。
- STEP1Colliderのサイズを確認
Colliderのサイズが適切か確認します。
- STEP2Colliderの位置を確認
Colliderの位置が正確か確認します。
- STEP3Rigidbodyの設定を確認
Rigidbodyの設定が適切か確認します。
- STEP4レイヤーの設定を確認
レイヤーの設定が適切か確認します。
ここまでの手順で、多くの場合は当たり判定のズレは改善できます。
ただし、Colliderのサイズや位置、Rigidbodyの設定を見直しても
- 「高速移動時だけ当たり判定が不安定になる」
- 「当たっているのに反応しないことがある」
といった問題が残るケースもあります。
そのような場合は、物理演算の仕様による影響が原因になっている可能性があります。
ここからは、設定だけでは改善しにくいケースに向けた応用的な改善方法(実装例)を紹介します。
高速移動で当たり判定が不安定な場合の実装例
Rigidbody の設定を見直しても「当たっているのに反応しない」「高速移動ですり抜ける」といった問題が解決しない場合は、コードで衝突判定の精度を上げる方法があります。
|
1 2 3 4 5 6 7 8 9 |
void Start() { Rigidbody rb = GetComponent<Rigidbody>(); // 高速移動時のすり抜け防止(判定精度アップ) rb.collisionDetectionMode = CollisionDetectionMode.Continuous; rb.interpolation = RigidbodyInterpolation.Interpolate; } |
この2行を追加することで、物理演算と描画のズレが補正され、高速移動時でも安定して衝突を検知できるようになります。
「Colliderや配置は正しいのに、なぜか当たり判定が不安定」という場合に非常に有効な改善方法です。
精度を上げる方法
精度を上げる方法は、次の通りです。
- Colliderのサイズを正確に設定
- Colliderの位置を正確に設定
- Rigidbodyの設定を最適化
- レイヤーの設定を最適化
これらを実装することで、精度の高い当たり判定ができます。
特に、Colliderのサイズと位置を正確に設定することが重要です。
実践的な改善方法を学ぶには

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

当たり判定がガバガバになる原因について解説しました。
要点のまとめ
- ガバガバな当たり判定の原因は、Colliderのサイズが大きすぎる、位置がずれているなど
- NG設定を確認することで、ガバガバな当たり判定を防げる
- 改善方法は、まず設定を確認し、それでも不安定な場合は実装で補完する
- 精度を上げるには、Colliderのサイズと位置を正確に設定する
基本を押さえれば、あとは応用していくだけです。
まずは、Colliderのサイズから確認してみてください。
動かしながら理解を深めていくのが、上達への近道です。
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる



コメント