Qiita初投稿記事です.よろしくお願いします.
#Oculusとは別のカメラの視点でディスプレイに表示したい!
VRゲーム開発などを行っていると,Oculus側に表示されるディスプレイのミラーリングではなく,固定視点や俯瞰視点の映像をディスプレイに表示したくなるときがあります.
今回はこのようなケースにおいて,Oculus側の視点の映像をOculusに,別カメラの視点を通常のディスプレイに表示する方法を紹介します.
#注意
カメラが増えるほど同時にレンダリングするフレームが増えるので,マシンにかかる負荷が増大します.パフォーマンスに注意しましょう.
#環境
- Unity 5.3.1f1
- Oculus Rift DK2
- Oculus SDK 1.3.0
以上の環境で動作を確認しました.(CV1でもいけると思います)
#やりかた
##Hierarchy側の設定
Hierarchyに以下のオブジェクトを設置します.
- Oculus側に表示するCamera
- ディスプレイ側に表示するCamera
※Project Settings->Player->Virtual Reality Supportedにチェックを入れておきます.
##Oculus側カメラInspectorの設定
- Target Eyeを"Both"に設定する.
- Target Displayを設定する.(デフォルトのDisplay 1で構いません)
- VRSettings.showDeviceViewでOculus側の映像をディスプレイにミラーしないように設定する.
UnityEngine.VR.VRSettings.showDeviceView = false;
##ディスプレイ側カメラInspectorの設定
- Target Eyeを"None(Main Display)"に設定する.
- Target Displayの値をOVRCameraRigで設定したものと同じにする(ここで違う値にするとダメでした(ハマった原因))
#さいごに
今回の手法を使って戦車を2人で協力して操作して戦うゲームの制作のお手伝いをさせていただきました.
Oculus側の人は戦車のキューポラから頭を出して周囲を索敵する役割を,ディスプレイ側の人は砲手の役割を担っています.
##BitSummit4thに出展しました!@mn_chrome
戦車プレイヤー その1https://t.co/bUmaKekHlp
— ちょろめ (@mn__chrome) 2016年7月9日