Unity / VRゲーム開発日記@長崎

Unityを使ったVRのゲーム開発をやってます。

サブカメラを使ったミラー(鏡)の擬似実装

サブカメラを使ったミラー機能の実装。


カメラだと、描画するレイヤを設定できるので、
例えばプレイヤーだけ鏡に映さないとかも可能そう。


まず、ProjectにRender Textureを追加。
f:id:icoc_dev:20150422095946j:plain



Render Textureの設定はこんな感じ。
f:id:icoc_dev:20150422095947j:plain

Sizeが大きいほど、きれいな鏡になる。


Hierarchyにミラー用のカメラと、鏡となる平面オブジェクト(Quad)を追加。
あと、写ってるのがわかるように適当にオブジェクトとライトも追加。
f:id:icoc_dev:20150422095940j:plain


カメラの設定。
ProjectionをOrthographicにして、平面オブジェクトの目の前に設置。
Sizeの値で鏡に写るオブジェクトの大きさが変わる。
f:id:icoc_dev:20150422095944j:plain



QuadにRender Textureを反映。

そのままだと、カメラに写ったままの表示で鏡にならないので、
ScaleのXをマイナスにして反転。

ShaderをSelf-Illumin/Diffuseに設定すると
良い感じに明るくなった。

f:id:icoc_dev:20150422095950j:plain



とりあえず、鏡っぽくなりました。
f:id:icoc_dev:20150422101258j:plain




配置のスクショ
f:id:icoc_dev:20150422102214j:plain