PR

【VRChat】鏡には映らないオブジェクトを作る方法

この記事は約10分で読めます。
記事内に広告が含まれています。

以前の記事では、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から外せば、そのオブジェクトは鏡に映らなくなります。

つまり、考え方はとてもシンプルです。

  1. 鏡に映したくないオブジェクト用のLayerを作る
  2. そのオブジェクトを専用Layerに設定する
  3. 鏡のReflect Layersから、そのLayerを外す

「鏡には映らないオブジェクト」の作り方

ここからは、実際に「鏡には映らないオブジェクト」を作る流れを見ていきます。

今回はわかりやすく、Cubeを使って説明します。実際のワールドでは、人形、花瓶、椅子、怪異の影などに置き換えて使えます。

基本的な流れは次の通りです。

  1. 鏡を設置する
  2. 鏡に映したくないオブジェクトを設置する
  3. 専用Layerを作る
  4. オブジェクトをそのLayerに設定する
  5. VRCMirrorのReflect Layersから、そのLayerを外す
  6. 鏡で確認する

1. 鏡を設置する

まずは、シーン内に鏡を用意します。

今回はVRChat SDKに含まれている「VRCMirror」を使います。すでにワールド内に鏡を設置している場合は、その鏡を使っても大丈夫です。

鏡を置いたら、正しい向きで反射しているか確認します。もし何も映らない場合は、鏡の向きが逆になっている可能性があります。
VRCMirrorのRotation Yを180度回転させてみて、映り方を確認してみましょう。

VRCMirrorを設置

2. オブジェクトを設置する

次に、鏡に映したくないオブジェクトを設置します。

テスト用ならCubeで十分です。Unity上でCubeを作成し、鏡の前に置いてみましょう。
この時点では、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」のチェックを外します。

VRCMirrorの設定

これで、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を使うことで、直接見ると見えるのに、鏡には映らないオブジェクトを作ることができます。

基本的な流れは次の通りです。

  1. 鏡に映したくないオブジェクト用のLayerを作る
  2. オブジェクトをそのLayerに設定する
  3. VRCMirrorのReflect Layersから、そのLayerを外す
  4. 鏡で確認する

これだけで、現実にはあるのに鏡には映らない、という不思議な演出が作れます。

鏡に映らない人形。
鏡に映らない怪異。
鏡の中だけ存在しない扉。

こうした小さなズレは、プレイヤーに「何かがおかしい」という感覚を与えます。

別記事で紹介した「鏡にだけ映るオブジェクト」と組み合わせると、鏡の中と現実を別々に演出することもできます。

リンカ先生
リンカ先生

鏡は、ただ景色を映すだけの道具ではありません。

現実と鏡の間に小さなズレを作ることで、そこに「何かがおかしい」という気配を生み出せます。

まずはCubeのようなシンプルな形で試して、慣れてきたら人形、小物、怪異の影などに置き換えてみてください。

プロフィール
この記事を書いた人
千鳥 るん | Chidori Run

AIイラスト制作から始まり、現在はVRChat向けのワールド制作・3D素材制作を中心に発信しています。

Unity、Blender、Substance 3D、UdonSharpなどを使いながら、怪異・ホラー・不穏な空間づくりの知見をまとめています。

BOOTHショップ「狐火工房」では、VRChat向けの3Dモデルや怪異演出素材を制作中。
「怪異ワールドを作りたい人が最初に頼れる場所」を目指して、素材と知恵を少しずつ積み上げています。

千鳥るんをフォローする
スポンサーリンク
シェアする
千鳥るんをフォローする