自習室

こもります

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 の手続き)

ビデオシースルーとCGを組み合わせる難しさ

まだあまり追っていないのですが、Unity で描画する3Dの世界と、Ovrvision のカメラ映像の世界が、頭を振っているとずれる感じがします。

Ovrvision 公式としては、 ArUco を使ったビジョン(マーカ)ベースのAR開発環境を提供しています。これはカメラ映像を基準としてCGを描くのでずれないのですが、できればマーカベースじゃないARをやりたいです

ちょっと解決法を模索したいです。(未来の自分に期待)