Unity
Vive

HTC Vive + Unity で VR 空間に鏡を作る


はじめに

鏡は両目のことを考えるとめんどくさくてやりたくないので、アセットに頼りました。

こんなかんじになります。


使用するアセット

Vive Stereo Rendering Toolkit - アセットストア

https://assetstore.unity.com/packages/tools/particles-effects/vive-stereo-rendering-toolkit-71255

HTC Vive の研究開発チームが作ったアセットだそうで、VR のことを考慮した、別空間を写すポータルや鏡を作ることができるアセットです。


鏡の作り方

普通のポータルはドキュメントのとおりで作れますが、鏡はドキュメントのままでは作れません。

デモシーンを参考に以下のようにするときれいに動きました。


  1. Create > 3D Object > Quad を作成する。

  2. 空のゲームオブジェクトを Quad の子供に作る(Origin や Anchor とつけるのが良さそう)

  3. 2で作ったオブジェクトの位置を (0, 0, 0) 回転を (270, 0, 0) に設定する。そうすると Quad の中央に上を向いた状態になる。

  4. Quad に Stereo Renderer コンポーネントを刺す。

  5. Stereo Renderer の Canvas Origin と Anchor Transform に 2で作ったオブジェクトを刺す。

  6. Stereo Renderer の IsMirror にチェックを入れる。


トラブルシュート


壁しか映らない!

鏡の場合には鏡の向こう側から現実世界のほうを向いたカメラが作られます。そうすると壁に貼ってある鏡などの場合、壁を超えたカメラが作られます。そうすると何が起こるかというと、壁が鏡用カメラに写ってしまい、鏡一面が壁になってしまいます!その場合 Stereo Renderer の Ignore When Render に壁を登録することで、その壁が無視されます。


終わりに

これで動いたんですが、中身追ってないので、なんで 270 に設定すると動くのかわかってません!それはさておき、ポータルみたいなの作れるの楽しいので是非遊んでみてください!

VRIK で自分を見るのたーのしー!