「プレイヤーの弾が味方にも当たってしまう」
当たり判定のトラブルは、Colliderの形だけでなく誰と誰が当たるかの設計ミスから起きることが多いです。
UnityのLayer(レイヤー)は、オブジェクトをグループ分けし、Collision Matrixで衝突の組み合わせを制御する仕組みです。
この記事では、Layerの作成から割り当て、プレイヤー・敵・地面の分け方まで、実践的な手順で整理します。
- LayerとTagの違いが分からず、設定をごちゃ混ぜにしている…
- 弾が地面をすり抜ける、または味方に当たってしまう。
- Collision Matrixのチェックを外しすぎて、当たるべき相手と当たらない。
✨ この記事でわかること
- Unity Layerの役割とTagとの違い
- Layerの作成手順(Edit → Project Settings)
- オブジェクトへのLayer割り当て方法
- Collision Matrixで衝突を制御するやり方
- プレイヤー・敵・地面の分け方例
- 初心者でも理解できる解説
\プログラミング未経験でも大丈夫!まずは1本作り切ろう/
初心者が最初に選ぶならコレ
Unity ノンフィールドRPG
+スレスパ風JRPG講座
Unity6対応・スマホ化対応の最新カリキュラム。「何から始めればいいかわからない」という初心者でも、ステップごとに手を動かすだけでRPGが完成します。
憧れのアクションゲームに挑戦
Unity 2Dアクションゲーム
の作り方講座(ロックマン風)
初心者でもロックマン風の横スクロールACTが作れる講座。7ステージ+ラスボスという本格構成で、スマホ化・広告実装まで対応。「自分のゲームをリリースしたい」夢を叶えます。
3Dゲーム開発の入口はここ
ゼルダ風3Dアクションゲーム
の作り方講座
「3Dゲームって難しそう…」と感じている初心者向けの講座。全16回でゼルダ風3Dアクションがスマホ対応で作れるようになります。3D開発の基礎がしっかり身につきます。
Layerとは|当たり判定の「グループ分け」
Layerは、GameObjectをカテゴリごとに分類するための仕組みです。
カメラの表示対象を絞る用途にも使われますが、当たり判定では「どのグループ同士が衝突するか」を決めるのが主な役割です。
例えば、プレイヤー・敵・弾・地面をそれぞれ別Layerに分ければ、「プレイヤーの弾は敵にだけ当たり、味方には当たらない」といったルールをCollision Matrixで表現できます。
Tagは「このオブジェクトは何か」(Player、Enemyなど)を識別するラベル、Layerは「どのグループに属するか」を表します。
役割が違うので、混同しないことが大切です。
Layerの作成手順
新しいLayerは、次の手順で追加します。
- STEP1Project Settingsを開く
メニューから Edit → Project Settings → Tags and Layers を選びます。
- STEP2空きスロットに名前を入力
Layersの User Layer 6 以降(空いている番号)に、Player や Enemy などの名前を入力します。
- STEP3オブジェクトに割り当て
Hierarchyでオブジェクトを選び、Inspector上部の Layer ドロップダウンから設定します。
- STEP4Collision Matrixを調整
Edit → Project Settings → Physics(または Physics 2D)の Layer Collision Matrix で、当たる組み合わせにチェックを入れます。
Default、TransparentFX、UIなど、最初からあるLayerはそのまま使えます。
User Layerは6番以降が自由に名前を付けられる領域です。
プレイヤー・敵・地面の分け方例
シンプルなアクションゲームでは、次のような分け方がよく使われます。
| Layer名 | 入れるオブジェクト | 衝突の考え方 |
|---|---|---|
| Player | 操作キャラ本体 | 地面・敵・アイテムと当たる。 味方弾とは当たらない |
| Enemy | 敵キャラ | 地面・プレイヤー弾と当たる。 敵同士は当たらないことも多い |
| Ground | 床・壁・障害物 | プレイヤー・敵・弾と当たる。 静的な当たりの土台 |
| PlayerBullet | プレイヤーが撃つ弾 | 敵・地面と当たる。 Playerレイヤーとは当たらない |
子オブジェクトを作るとき、「親のLayerを変更しますか?」と聞かれたら、通常はYesで揃えます。
プレイヤーの体と武器が別Layerだと、意図しない当たりが起きやすくなります。

Layerは最初から完璧を目指さなくて大丈夫です。
Player・Enemy・Groundの3つだけ作って、弾用を後から足す進め方でも十分機能しますよ。
Collision Matrixで衝突を制御する
Layer Collision Matrixは、Layer同士の衝突をオン/オフする表です。
3Dなら Physics、2Dなら Physics 2D の設定画面にあります。
チェックが入っている組み合わせだけが物理的に衝突します。
チェックを外すと、Colliderが重なってもOnCollisionEnterは呼ばれません(Triggerの場合も同様に無視されます)。
よくある設定例:
- Player ↔ Ground:オン(歩ける)
- PlayerBullet ↔ Player:オフ(味方に当たらない)
- PlayerBullet ↔ Enemy:オン(敵にダメージ)
- Enemy ↔ Enemy:オフ(敵同士がぶつかって詰まらない)
LayerMaskとスクリプトでの利用
レイキャスト(光線判定)やOverlapSphereなど、スクリプトで「特定のLayerだけ検出したい」ときはLayerMaskを使います。
// 敵レイヤーだけを検出する例
int enemyLayer = LayerMask.GetMask("Enemy");
RaycastHit hit;
if (Physics.Raycast(origin, direction, out hit, distance, enemyLayer))
{
// 敵に当たった処理
}
Layer名のスペルミスに注意してください。
存在しない名前をGetMaskに渡すと、意図しない結果になります。
Tags and Layersで設定した名前と完全一致させましょう。
2Dと3Dで設定画面が違う点
2DゲームではPhysics 2DのCollision Matrixを編集します。
3D用のPhysics設定をいじっても、Collider2D同士の衝突には反映されません。
2D/3Dを混在させたプロジェクトでは、それぞれのMatrixを別々に確認する必要があります。
どちらのColliderを使っているかを先に決めてから、対応する設定画面を開くと迷いません。

当たらない!と焦ったら、まずCollision Matrixを見直してください。
Colliderの形は合っているのに、Matrixでオフになっているパターンが意外と多いです。
よくあるミスと対処
Layer設定でつまずきやすいポイントは次のとおりです。
- オブジェクトのLayerを付け忘れ → Defaultのままだと、意図しない相手と衝突する
- 子だけLayerを変えた → 親子でLayerがバラバラになり、判定が不安定になる
- 2Dなのに3DのMatrixを編集 → Physics 2D側を確認する
- Layer名の変更後にスクリプトが古い → GetMaskの文字列を更新する
設計の段階で「誰が誰に当たるか」を紙やメモに書き出してからMatrixを設定すると、後からの手戻りが減ります。
記事を読んで「作ってみたい!」と思ったら!初心者でも1本完成できる講座で実力をつけよう
知識を読むだけで終わらせるのはもったいない。実際に手を動かしてゲームを1本完成させることで、理解が一気に深まります。プログラミング未経験からでも取り組める講座で、ゲーム開発の第一歩を踏み出しましょう。
Unity ノンフィールドRPG+スレスパ風JRPG講座【Unity6対応!初心者でもデッキ構築×JRPGをスマホ向けに作れる!】

- Unity6対応・スマホ化対応で最新環境のゲーム開発が学べる
- Slay the Spire風のデッキ構築システム×JRPGの組み合わせを実装
- 初心者でも迷わず進められる丁寧な解説構成
- ノンフィールドRPGとデッキ構築JRPGの2つをまとめて学べるセット講座
Unity ノンフィールドRPGの作り方講座+Slay the Spire風デッキ構築JRPGの作り方講座は、プログラミング未経験の初心者でも取り組みやすい、ステップバイステップ形式の講座です。
Unity6対応・スマホ化対応の最新カリキュラムで、読んで「なるほど」と思った知識を、実際に動くゲームとして形にする体験ができます。
「何から始めればいいかわからない…」という初心者が最初に選ぶ一本として最適な講座です。
Unity6対応・スマホ化対応の最新カリキュラム
ゼロからでもRPGを完成させよう
→ スレスパ風デッキ構築JRPG講座を見てみる
初心者でもスマホ対応のRPGが作れる!まずは1本完成を目指そう!
Unity 2Dアクションゲームの作り方講座(ロックマン風)【全16回!初心者でもスマホ化・広告実装まで対応した本格横スクロールACTが作れる!】

- ロックマン・マリオ・カービィのような横スクロールACTをゼロから開発
- 7ステージ+ラスボスステージの本格的なゲーム設計を初心者でも実現
- スマホ化・AdMob広告実装まで対応してリリースまで見据えた構成
- 敵AI15体・多彩なマップギミック・武器システムを完全実装
- 完全オリジナルゲームをアセット不使用で素材提供付きで制作
Unity 2Dアクションゲームの作り方講座(ロックマン風)は、ロックマン・スーパーマリオ・星のカービィのような2D横スクロールアクションゲームを、初心者でもゼロから開発できるようになる講座です。
全16回で当たり判定・物理挙動・敵AIの知識を実際のゲームコードとして実装する体験が詰め込まれています。スマホ化・広告実装まで対応しているため、「作って終わり」ではなくリリースまで見据えた実践スキルが身につきます。
「憧れのアクションゲームを自分の手で作ってみたい」という初心者に強くおすすめの一本です。
スマホ化・広告実装まで対応した本格横スクロールACT
初心者でもロックマン風2Dアクションをリリースまで作り上げよう
→ 2Dアクションゲームの作り方講座を見てみる
初心者でも本格ACTが完成する!広告収益まで視野に入れた実践スキルを手に入れよう!
ゼルダ風3Dアクションゲームの作り方講座【全16回!初心者でも3Dアクションがスマホ対応で作れる!】

- ゼルダの伝説・モンハン・原神のような3Dアクションをゼロから開発
- 「3Dは難しそう」と感じている初心者でも取り組みやすい丁寧な解説構成
- スマホ化対応で実機で動かせるゲームが完成
- アセットを使った実践的なゲーム開発手法が身につく
- 画像・動画・全ソースコード公開の充実したサポート
ゼルダ風3Dアクションゲームの作り方講座は、「3Dゲームは難しそう…」と感じている初心者こそおすすめの入門講座です。
全16回の丁寧な解説で、ゼルダの伝説・モンハン・原神のような本格的な3Dアクションゲームを確実に完成まで導きます。スマホ化対応で実機で動かせるため、初めて3Dゲームを作り上げた達成感がひときわ大きい講座です。
「3Dゲームを自分でも作れるか試してみたい」という初心者の最初の一歩として最適です。
初心者でも3Dアクションがスマホ対応で完成する
ゼルダ風3Dアクションゲームで3D開発の壁を一気に突破しよう
→ ゼルダ風3Dアクションゲームの作り方講座を見てみる
全16回でスマホで動くオリジナル3Dゲームを完成させよう!
まとめ
UnityのLayerは、オブジェクトをグループ分けし、Collision Matrixで当たり判定の組み合わせを制御する仕組みです。
Player・Enemy・Ground・弾用Layerを分け、Matrixで「味方に当たらない」「敵同士はすり抜ける」などのルールを表現できます。
まずは3つのLayerを作り、床・キャラ・弾に割り当ててからMatrixを調整してみてください。
Tagで「何か」を識別し、Layerで「誰と当たるか」を決める、という役割分担を意識すると設計がすっきりします。
当たり判定を含むゲーム制作を体系的に学びたい方は、Unity入門の森の講座も参考になります。
LayerとColliderを組み合わせた実践プロジェクトで、衝突設計の感覚を身につけられます。
今日はPlayer・Groundの2レイヤーだけ作って、Collision Matrixを1か所確認してみましょう。



コメント