Ovrvision Pro を VIVE で使う
つかいかた
Unity 標準の VR 対応 + OvrvisionProSDK for Unity
- 新しいプロジェクトを作る
- VR セットアップにする (OpenVR)
- Ovrvision Pro SDK for Unity を入手する
- OvrvisionPro/Resources/Prefabs/OvrvisionProCamera.prefab をつっこむ
- LeftCamera, RightCamera の
Target Display
を、Game Window の Display 番号とあわせる(なぜかずれていることが多い) - なぜかLayerを何も設定しなくても左右の目に正しく描かれるけど、気持ち悪いので以下の設定をする (*1)
- Layer 8 を “LeftEye”, Layer 9 “RightEye” という名前で登録する
- OvrvisionProCamera/LeftCamera/LeftImagePlane を、 Left Eye に登録する
- OvrvisionProCamera/RightCamera/RightImagePlane を、 Right Eye に登録する
- OvrvisionProCamera/LeftCamera の CullingMask から、 RightEye レイヤーを外す(左目には左カメラの映像が見える)
- OvrvisionProCamera/RightCamera の CullingMask から、 LeftEye レイヤーを外す(右目には右カメラの映像が見える)
蛇足ですが、私の環境だと、OvrvisionProCamera の Ovrsition コンポーネント中、 Camera Mode を 960x950@60:Default
のままにしておくと、盛大にジャダります。 640x480@90
にするとスムースに見ることができます。
SteamVR Plugin を利用する
上のままだとVIVEコンが使えないので、SteamVR Plugin を利用します。
- Asset Store から StreamVR Plugin をインポートする
- StreamVR/Prefabs/[CameraRig].prefab をつっこむ
- [CameraRig]/Camera (head)/Camera (eye) の
Target Display
を Game Window の Display 番号と合わせる (なぜかずれていることが多い) - [CameraRig]/Camera (head)/Cemera (eye) に、
SteamVR_UpdatePoses
スクリプトをアタッチする(こりんさん情報)
これでVIVEコンも表示されるようになります。
OvrvisionPro SDK 内の camimage_demo
サンプルを動かす
上記でも何度も同じことをやっていますが、このサンプルだけを動かしたいなら、以下のあたりを気をつけましょう
- VR対応せずにただカメラ映像を正しく取れることを確認したいなら、MainCamera のTargetDisplayを、Game Window の Display 番号と合わせるだけでOK
- VR対応させるなら、追加で以下の手続きが必要
- LeftCamera, RightCamera の
Target Display
を、Game Window の Display 番号とあわせる(なぜかずれていることが多い) - LeftImagePlane, RightImagePlane を適切なレイヤにあてて、各目のカメラの Culling Mask を正しく設定する(*1 の手続き)
- LeftCamera, RightCamera の
ビデオシースルーとCGを組み合わせる難しさ
まだあまり追っていないのですが、Unity で描画する3Dの世界と、Ovrvision のカメラ映像の世界が、頭を振っているとずれる感じがします。
Ovrvision 公式としては、 ArUco を使ったビジョン(マーカ)ベースのAR開発環境を提供しています。これはカメラ映像を基準としてCGを描くのでずれないのですが、できればマーカベースじゃないARをやりたいです
ちょっと解決法を模索したいです。(未来の自分に期待)