床は置いたのに、なぜか通り抜けてしまう。飾りに引っかかって歩きにくい。置いた箱が触っても動かない。
当たり判定まわりの困りごとは、ほとんどが3つの部品の組み合わせで説明できます。Collider・Is Trigger・Rigidbody です。
この記事では、同じCubeを3つ並べて、設定を1つずつ変えながら 壁・くぐれる飾り・落ちる箱 に作り分けます。
この記事でわかること
- Collider・Is Trigger・Rigidbodyの役割の違い
- 見た目の形と、ぶつかる形が別物であること
- VRChatで「歩いて押す」が安定しない理由
- レイヤーで触っていい範囲
床のあるシーンから始めます。まだなければ 最初のワールド で作れます。
3つの部品は、3つの質問に答えている
覚え方はシンプルです。3つの部品が、それぞれ別の質問に答えています。

| 部品 | 答えている質問 | たとえると |
|---|---|---|
| Collider | 形があるか? | 展示物にかぶせたアクリルケース |
| Is Trigger | その形は壁か、センサーか? | 自動ドアの赤外線。体は止まらないが、通ったことは分かる |
| Rigidbody | 固定か、物理で動くか? | 床にボルトで留めた棚から、ボルトを外して荷物にする |
Colliderがなければ、どんな形でもすり抜けます。Colliderがあって Is Trigger がオフなら、壁として止まります。Is Trigger をオンにすると、通り抜けられるけれど「通ったこと」は検知できるセンサーになります。
Rigidbodyは別の軸です。付けると、その物体は物理エンジンの管理下に入り、重力で落ちたり、ぶつかって転がったりするようになります。付けなければ、その場に固定されたままです。
床や壁に必要なのは Colliderだけ です。これまで置いてきた床や壁には、Rigidbodyは要りません。
見た目の形と、ぶつかる形は別物
もう1つ、先に押さえておくことがあります。

見た目を描くのは Mesh Renderer、ぶつかる形を決めるのは Collider です。こ の2つは別のもので、形が違っていて構いません。
葉が細かく広がった観葉植物に、葉一枚ずつの当たり判定は要りません。鉢のあたりを箱1つで囲めば、実用上は十分です。むしろ、見た目どおりの複雑な判定を作ると、そのぶん処理が重くなります。
基本の方針はこうなります。
- 箱や円柱で大まかに囲む(Box Collider・Capsule Collider)
- 階段や柱のような形は、箱をいくつか組み合わせる
- 地形のように箱では表せない形だけ、Mesh Colliderを使う
実践:同じCubeを3つに作り分ける
床の上に同じCubeを3つ並べて、1つずつ設定を変えます。完成すると、左は止まり、真ん中はすり抜け、右は落ちてきます。

変えるのは1つずつ にしてください。同時に2つ変えると、どちらが効いたのか分からなくなります。
1. Cubeを3つ並べる
「3D Object → Cube」で3つ作り、名前と位置を設定します。
| 名前 | Position (X, Y, Z) | Scale |
|---|---|---|
WallCube | (-1.5, 0.5, 2) | (1, 1, 1) |
PassCube | (0, 0.5, 2) | (1, 1, 1) |
FallCube | (1.5, 2, 2) | (1, 1, 1) |
FallCube だけYを 2 にして、床から浮かせておきます。あとで落とすためです。
この時点では3つとも同じです。Box Colliderが付いていて、Is Triggerはオフ、Rigidbodyはありません。
Playして歩いてみてください。3つとも壁として止まります。FallCube は空中に浮いたまま止まっています。
2. 真ん中をすり抜けさせる
PassCube を選び、Inspectorの右上にある Layer を Walkthrough に変えます。
Playして歩くと、真ん中のCubeだけすり抜けられます。見た目はそのままです。
Walkthrough は、VRChatが用意しているレイヤーの1つで、プレイヤーと衝突しない という意味です。のれん、木の葉、細い柵、天井から下がった看板など、「見せたいが通りたい」ものに使います。
Colliderを外してしまうと、置いた小物も落ちていきます。Walkthroughなら、プレイヤーだけが通り抜けて、物はぶつかったまま にできます。
3. 右を落とす
FallCube を選び、「Add Component」で Rigidbody を追加します。
Playすると、浮いていたCubeが床まで落ちてきます。
Rigidbodyの設定で押さえるのは2つです。
| 項目 | 意味 |
|---|---|
| Use Gravity | 重力を受けるか。オフにすると空中に浮いたまま |
| Is Kinematic | オンにすると物理で動かなくなる。位置はスクリプトなどから決める |
「浮かせた飾りを落としたくない」ときは Use Gravity をオフに、「その場から絶対に動かしたくない」ときは Is Kinematic をオンにします。
4. センサーにしてみる
最後に、WallCube の Box Collider にある Is Trigger をオンにしてみてください。
Playすると、壁だったはずのCubeをすり抜けます。Is Trigger をオンにすると、物理的にぶつからなくなる からです。
すり抜けるだけならWalkthroughと同じに見えますが、違いがあります。Is Triggerは 「誰かが入った・出た」をスクリプトで受け取れます。エリアに入ったら案内を出す、床下に落ちたら戻す、といった仕掛けの土台です。
この検知の使い方は トリガーでエリアを検知する で扱います。ここでは「Is Trigger をオンにすると通り抜ける」だけ覚えれば十分です。
確認したら、Is Trigger はオフに戻してください。
歩いて押すのは、VRChatでは向かない
Rigidbodyを付けた箱を見ると、「押して動かせるのでは」と思います。ここは先に知っておいてください。

VRChatで、歩いて物を押すのは安定しません。
プレイヤーは普通の物理オブジェクトではなく、カプセルとして扱われています。Rigidbodyの箱に体当たりすると、押せることもあれば、壁のように止まることも、軽い箱が跳ね飛ぶこともあります。Unityの中では押せて見えても、実際のVRChatでは違う結果になることもあります。
だから、箱を押して運ぶパズル のようなものは、この形では作れません。
プレイヤーに物を動かしてほしいときは、掴む 形にします。
| やりたいこと | 使うもの |
|---|---|
| 重力で落ちる、ぶつかって転がる | Collider + Rigidbody |
| プレイヤーが持ち運ぶ | VRC Pickup(Pickupで持てる小物を作る) |
| 決まった動きをさせる | Udonで位置を変える |
もう1つ、Rigidbodyの物は そのままでは他の人と共有されません。自分の画面で転がった箱は、隣の人の画面では別の場所にあります。位置を共有するには VRC Object Sync が必要です。
レイヤーは選ぶだけ。変えない
VRChatは、いくつかのレイヤーを決まった用途で使っています。当たり判定に関わる主なものはこれです。
| レイヤー | 意味 |
|---|---|
Default | ふつうの物。床・壁・家具はこれ |
Walkthrough | プレイヤーだけ通り抜ける。飾り向け |
Pickup | 持てる物。プレイヤーとは衝突しない |
Player / PlayerLocal | プレイヤー本体。自分で設定するものではない |
MirrorReflection | 鏡の表示用。壁として使わない |
大事なのは、名前や衝突の設定を変えないこと です。変更してアップロードすると、VRChat側で元に戻されます。用意されているものから選ぶぶんには問題ありません。
自分で新しいレイヤーを足したいときは、番号の大きい User Layer を使います。ここは変更が保持されます。
床や壁は Default のままで構いません。当面、レイヤーを触るのは「すり抜けさせたいとき Walkthrough にする」だけです。
おまけ:先に知っておくと良いこと
- Mesh Colliderには制限がある: 見た目どおりの当たり判定を作れますが、Rigidbodyを付ける場合は Convex(凸形状)をオンにする必要があり、複雑な凹みは表現できません。動かない地形以外では箱の組み合わせが確実です
- Colliderが重なっていると振動する: 2つの物体の判定がわずかに食い込むと、押し出し合ってガタガタします。階段などで起きやすい現象です。部屋と階段のブロックアウト で対処法を扱います
- 速く動く物はすり抜けることがある: 高速で落ちる小さな物が、薄い床を通り抜けることがあります。床を厚くするか、Rigidbodyの衝突検出の設定を上げます
- 物理の物を増やしすぎない: Rigidbodyの数が増えるほど計算が重くなります。転がる小物は数個までにして、飾りは固定にします
- プレイヤー同士もColliderで当たる: ただし見た目のアバターではなく、人型のカプセルです。大きなアバターでも当たり判定の太さは変わりません
まとめ
当たり判定は、3つの質問に答えるだけで決まります。
- 形があるか(Collider)、壁かセンサーか(Is Trigger)、固定か物理か(Rigidbody)
- 見た目の形と、ぶつかる形は別でよい。箱で大まかに囲む
- すり抜けさせたいなら
Walkthrough。Colliderを外すと物まで落ちる - 歩いて押すのは安定しない。動かしてほしい物はPickupにする
設定に迷ったときの問いかけは、「これは、通したいのか、止めたいのか、落としたいのか」 です。3つのうちどれかが決まれば、触る場所も決まります。
次は、この判定を使って部屋を組み立てます。Cubeで部屋と階段を作る へ進むか、エリアの検知を作るなら トリガーでエリアを検知する が入口です。