以前の記事では、VRChatで「鏡にだけ映るオブジェクト」を作る方法を紹介しました。
直接見ると何もないのに、鏡の中にだけ何かが映っている。
これは、鏡と現実のズレを使ったホラー演出です。
今回は、その反対です。
目の前には確かにオブジェクトがある。
でも、鏡を見ると映っていない。
たとえば、目の前に古い人形が置かれているのに、鏡にはその人形だけが映っていない。
部屋には花瓶があるのに、鏡の中ではそこだけ空っぽになっている。
あるいは、プレイヤーのすぐ近くに怪異が立っているのに、鏡の中には存在していない。

こうした「鏡には映らないオブジェクト」も、VRChatではLayerとVRC Mirror Reflectionの設定を使うことで作れます。
この記事では、VRChatで「直接見ると見えるのに、鏡には映らないオブジェクト」を作る方法を、初心者向けに紹介します。
- VRChatのホラーワールドを作ってみたい人
- 鏡を使った怪異演出を作りたい人
- 「鏡に映らない人形」や「鏡に映らない怪異」を作りたい人
- LayerやReflect Layersの使い方を知りたい人
- 前回の「鏡にだけ映るオブジェクト」の応用を試してみたい人
「鏡には映らない」とは?
「鏡には映らない」とは、プレイヤーの目には普通に見えているのに、鏡の中には表示されない状態のことです。
現実世界では、そこに物があるなら普通は鏡にも映ります。だからこそ、鏡に映っていないと違和感が生まれます。
たとえば、
- 目の前には人形があるのに、鏡には映っていない
- 部屋には椅子があるのに、鏡の中では消えている
- プレイヤーの背後にいる怪異が、鏡には映らない
- あるはずの扉が、鏡の中では存在しない
といった演出です。
前回紹介した「鏡にだけ映るオブジェクト」は、鏡の中にだけ何かを出す演出でした。
一方、今回の「鏡には映らないオブジェクト」は、現実にあるものを鏡の中から消す演出です。

どちらも「現実と鏡のズレ」を使った表現だけど、怖さの方向が少し違うよ
鏡にだけ映る演出は、
「見えないものが、鏡には映ってしまった」
という怖さです。
鏡には映らない演出は、
「あるはずのものが、鏡には存在していない」
という怖さです。

あるはずなのに、ない……💦

鏡に映らないことで、それが「普通の存在ではない」と感じさせられるってわけ
仕組み
VRChatの鏡(VRCMirror)は、すべてのオブジェクトを無条件に映しているわけではありません。
VRCMirrorには「VRC Mirror Reflection」というコンポーネントがあります。この中の「Reflect Layers」という項目で、鏡に映すLayerを指定できます。
Layerとは、Unityでオブジェクトを分類するための設定です。
たとえば、
- 通常のオブジェクト
- プレイヤー
- 鏡に映したいもの
- 鏡に映したくないもの
といったように、オブジェクトを用途ごとに分類できます。
鏡に映したくないオブジェクトを専用Layerに設定し、そのLayerをVRCMirrorのReflect Layersから外せば、そのオブジェクトは鏡に映らなくなります。
つまり、考え方はとてもシンプルです。
- 鏡に映したくないオブジェクト用のLayerを作る
- そのオブジェクトを専用Layerに設定する
- 鏡のReflect Layersから、そのLayerを外す
「鏡には映らないオブジェクト」の作り方
ここからは、実際に「鏡には映らないオブジェクト」を作る流れを見ていきます。
今回はわかりやすく、Cubeを使って説明します。実際のワールドでは、人形、花瓶、椅子、怪異の影などに置き換えて使えます。
基本的な流れは次の通りです。
- 鏡を設置する
- 鏡に映したくないオブジェクトを設置する
- 専用Layerを作る
- オブジェクトをそのLayerに設定する
- VRCMirrorのReflect Layersから、そのLayerを外す
- 鏡で確認する
1. 鏡を設置する
まずは、シーン内に鏡を用意します。
今回はVRChat SDKに含まれている「VRCMirror」を使います。すでにワールド内に鏡を設置している場合は、その鏡を使っても大丈夫です。
鏡を置いたら、正しい向きで反射しているか確認します。もし何も映らない場合は、鏡の向きが逆になっている可能性があります。
VRCMirrorのRotation Yを180度回転させてみて、映り方を確認してみましょう。

2. オブジェクトを設置する
次に、鏡に映したくないオブジェクトを設置します。
テスト用ならCubeで十分です。Unity上でCubeを作成し、鏡の前に置いてみましょう。
この時点では、Cubeは通常のオブジェクトなので、直接見ても見えますし、鏡にも映るはずです。ここで一度確認しておくと、後で設定がうまくいったかどうか判断しやすくなります。
つまり、最初は次の状態です。
- 直接見るとCubeが見える
- 鏡にもCubeが映っている
この状態から、Cubeだけを鏡に映らないようにしていきます。

3. 専用Layerを作る
次に、鏡に映したくないオブジェクト用のLayerを作ります。
UnityのInspector右上にあるLayersのプルダウンから「Edit Layers」を選びます。

「Layers」の▶を押して、現在のレイヤー一覧を開きます。User Layer 23以降が空いていると思うので、「User Layer 23」に「NoMirror」と入力して新たなレイヤーを作ります。(User Layer 23が埋まっている場合は、User Layer 24以降の空いている場所で大丈夫です)

今回は「鏡に映さないもの」という意味で、NoMirrorという名前にしていますが、自分がわかりやすければ何でも構いません。

Layerの名前は、自由なんですね

そうなんだけど、あとから自分で見返したときに意味がわかる名前にしよう。
「Layer23」とかだと、何のためのレイヤーかわかりにくくなるからね
4. オブジェクトをNoMirrorレイヤーに設定する
Layerを作ったら、鏡に映したくないオブジェクトに設定していきます。
先ほど作ったCubeを選択して、Inspector上部にあるLayerの項目を開き、「NoMirror」を選びます。

これで、CubeのLayerがNoMirrorになりました。ただし、まだ鏡には映っているかもしれません。なぜなら、鏡側のReflect LayersにNoMirrorが含まれている場合、そのLayerも鏡に描画されるからです。
次に、鏡側の設定を変更します。
5. VRCMirrorのReflect LayersからNoMirrorを外す
鏡オブジェクトを選択して、Inspectorで「VRC Mirror Reflection」コンポーネントを探します。
その中に「Reflect Layers」という項目があります。
Reflect Layersは、鏡に映すLayerを指定する設定です。ここにチェックが入っているLayerは、鏡に映ります。逆に、チェックを外したLayerは、鏡に映りません。
今回作った「NoMirror」のチェックを外します。

これで、NoMirrorレイヤーに設定したオブジェクトは、鏡に映らなくなります。
ここが今回の一番大事なポイントです。
- オブジェクト側:LayerをNoMirrorにする
- 鏡側:Reflect LayersからNoMirrorを外す
この2つがセットです。

オブジェクトのLayerを変えるだけじゃなくて、鏡側の設定も必要なんですね💡

Layerは分類で、Reflect Layersは「どの分類を鏡に映すか」の設定。
両方がそろって、はじめて鏡に映らない状態になるんだよ
6. 鏡で確認する
ここまでできたら、Unityの再生ボタンを押して確認します。
うまくいっていれば、次のような状態になります。
- 直接見るとCubeが見える
- 鏡を見るとCubeが映っていない
これで、「直接見ると見えるのに、鏡には映らないオブジェクト」の完成です。

もしうまくいかない場合は、次の点を確認してみてください。
うまくいかないときの確認ポイント
オブジェクトのLayerは合っているか
まず、鏡に映したくないオブジェクトのLayerを確認します。Cubeやモデル本体が、きちんとNoMirrorになっているか見てみましょう。
親オブジェクトだけNoMirrorになっていて、実際のMesh Rendererがある子オブジェクトはDefaultのまま、ということもあります。
この場合、見た目の部分はまだDefaultレイヤーなので、鏡に映ってしまいます。
モデルが複数の子オブジェクトで構成されている場合は、Mesh Rendererが付いている子オブジェクトのLayerも確認しましょう。
Reflect LayersからNoMirrorを外しているか
次に、鏡側のReflect Layersを確認します。
NoMirrorのチェックが入ったままだと、そのLayerは鏡に映ります。「鏡に映したくないLayer」は、Reflect Layersから外す必要があります。
ワールド内に鏡が複数ある場合は、それぞれの鏡で設定が必要です。
Aの鏡では映らないのに、Bの鏡では映ってしまう場合は、Bの鏡のReflect Layersも確認してみてください。
見ている鏡が正しいか
シーン内に複数の鏡があると、別の鏡を見て確認していることがあります。
設定を変えた鏡と、実際に見ている鏡が同じか確認しましょう。また、Prefabを複数配置している場合、片方だけ設定を変えて、もう片方は変更前のままということもあります。
ホラー演出としての使い方
鏡に映らないオブジェクトは、ホラーワールドと相性がいいです。
使い方の例をいくつか挙げてみます。
- 鏡に映らない人形
- 鏡に映らない花瓶
- 鏡に映らない椅子
- 鏡に映らない扉
- 鏡に映らない怪異
- 鏡の中では消えている血文字
- 鏡の中では閉じているはずの扉がない
- 現実にはあるのに、鏡の中では存在しない小物
ポイントは、プレイヤーが「自分で違和感に気づく」ように配置することです。たとえば、鏡の真正面に大きな人形を置けば、鏡に映っていないことにすぐ気づきます。
それも悪くありません。
でも、少しだけ視界の端に入る位置に置いたり、洗面台の小物のひとつだけを映らないようにしたりすると、より静かな違和感になります。

「何か変だな」と思って見比べたときに、初めて気づく…

こういう演出は、派手なジャンプスケアとは違う怖さがあるよね
鏡に映る姿を変えることもできる
前回紹介した「鏡にだけ映るオブジェクト」と、今回の「鏡には映らないオブジェクト」を組み合わせると、現実で見えている姿と、鏡に映る姿を変えることができます。

ポイントは、「現実用」と「鏡用」のオブジェクトを別々に用意することです。
現実用のオブジェクトは、直接見えるけれど鏡には映らないようにします。
鏡用のオブジェクトは、直接は見えないけれど鏡にだけ映るようにします。
この2つを同じ場所や近い場所に配置すると、鏡に映ったときだけ姿が変わったように見せることができます。
この方法を使うと、次のような演出もできます。
- 現実では普通の家具だが、鏡の中では壊れている
- 現実では普通の人形だが、鏡の中では首がこちらを向いている
- 現実では閉じた扉だが、鏡の中では少し開いている
鏡を単なる反射ではなく、「別の姿を映す装置」として使えるようになるので、ホラー演出の幅がかなり広がります。

鏡の中だけ別世界みたいにできるんですね

うん!そうすると、鏡そのものが怪異の入口のように見えてくるよね
使うときの注意点
鏡に映らないオブジェクトは便利ですが、使いすぎると違和感が強くなりすぎます。
すべての小物が鏡に映らないと、プレイヤーは「これは演出」ではなく「設定ミスかな?」と思ってしまうかもしれません。
ホラー演出として使うなら、映らないオブジェクトは少数に絞るのがおすすめです。
たとえば、
- 部屋の中でひとつだけ映らない
- 近づいてよく見ると気づく
- 他のオブジェクトは普通に映っている
- 鏡を見る理由が自然にある場所に置く
といった配置にすると、違和感を演出として受け取ってもらいやすくなります。
特におすすめなのは、洗面所やトイレ、古い旅館の部屋、廃病院の診察室などです。鏡を見ることが自然な場所に置くと、プレイヤーが自分から違和感に気づいてくれます。
まとめ
VRChatでは、LayerとVRC Mirror ReflectionのReflect Layersを使うことで、直接見ると見えるのに、鏡には映らないオブジェクトを作ることができます。
基本的な流れは次の通りです。
- 鏡に映したくないオブジェクト用のLayerを作る
- オブジェクトをそのLayerに設定する
- VRCMirrorのReflect Layersから、そのLayerを外す
- 鏡で確認する
これだけで、現実にはあるのに鏡には映らない、という不思議な演出が作れます。
鏡に映らない人形。
鏡に映らない怪異。
鏡の中だけ存在しない扉。
こうした小さなズレは、プレイヤーに「何かがおかしい」という感覚を与えます。
別記事で紹介した「鏡にだけ映るオブジェクト」と組み合わせると、鏡の中と現実を別々に演出することもできます。

鏡は、ただ景色を映すだけの道具ではありません。
現実と鏡の間に小さなズレを作ることで、そこに「何かがおかしい」という気配を生み出せます。
まずはCubeのようなシンプルな形で試して、慣れてきたら人形、小物、怪異の影などに置き換えてみてください。


