LoginSignup
2
0

More than 1 year has passed since last update.

$1-1「Ovrvision Pro(ステレオカメラ)のセットアップをして実際に動かしてみる」【ヘッドマウントディスプレイとUnityでVRとかMRの開発をやってみる.】

Last updated at Posted at 2021-06-15

はじめに

VRの開発をしていく中で折角ならARも並行して開発しようと思い,高画質なステレオカメラであるOvrvision Proを触りながらメモしていきます.2021年6月現在の最新版を手探りで開発しているので間違い等があるかもしれませんが解説というよりメモ書きを読む感じでお願いします.
Ovrvision ProのSDKとの互換性の関係でUnityのバージョンはVIVE Pro Eye解説記事の2020と違って2019.4.27f1を使っています.SteamVR Plugin(OpenVR)のセットアップ手順が少し違うだけで解説記事のスクリプトとかはそのまま使えます.この記事も2020と2019のスクリーンショットが混じっていますが2020だとクロマキー等の一部機能が使えません.

環境一覧
SteamVR 1.16.10
Unity 2019.4.27f1 or 2020.1.17f1(動作確認済み,非対応なSDKあり)

SteamVR Plugin 2.7.3
Vive SRanipalRuntime Plugin 1.3.2.0

追加アクセサリー
VIVEトラッカー2018
Ovrvision Pro(ステレオカメラ)
Leap Motion

使用PCスペック
インテル® Core™ i7-7700K
NVIDIA GeForce GTX 1070

  • 環境作成編

#1 Unityのセットアップをする 2021年 1月更新

#2 プロジェクトを作ってみる 2021年 1月更新

#3-α Unity2019でVR開発のための環境を整える(SteamVR Plugin2.7.Xをインストールする):推奨 2021年 6月更新

#3-β Unity2020でVR開発のための環境を整える(SteamVR Plugin2.7.Xをインストールする) 2021年 5月更新

#3-おまけ UnityでVR開発のための環境を整える(SteamVR Pluginの最新版をインストールする):非推奨 2021年 2月更新

#4 SteamVRのダウングレードと自動アップデートの停止(上級者向け) 2021年 5月更新

  • コントローラの入力やトラッカー,HMDの位置座標,回転座標を得る+α

#5 VIVEコントローラのボタン入力を取得する 2021年 2月更新

#6 トリガーの押し具合やトラックパッドの位置情報の入力を取得する 2021年 2月更新

#6-おまけ VIVEコントローラを使った開発をする時のおすすめ設定(独断と偏見) 2021年 5月更新

#7 ヘッドマウントディスプレイとコントローラの位置座標と回転を取得する 2021年 2月更新

#8 VIVEトラッカー2018を有効化してUnity上で位置座標と回転を取得 2021年 5月更新

#9 VIVEコントローラの振動機能を開発してみる 2021年 4月更新

  • VIVE Pro Eyeのアイトラッキングを使ってみる

#10 VIVE Pro Eyeの視線トラッキングを有効化(セットアップ)する 2021年 4月更新

#11 VIVE Pro Eyeのアイトラッキングを使ってUnity上で瞬きや視線のデータを取得する 2021年 4月更新

#11-おまけ VIVE Pro Eyeのアイトラッキングで計測できるデータについて(適宜更新) 2021年 4月更新

  • VIVE Pro Eyeのカメラを使ってみる

#12 VIVE Pro Eyeのフロントカメラの解像度(性能)とAR機能を有効化について 2021年 5月更新

  • 小技

プレイエリアの境界線(シャペロン境界)が表示されないように設定を変更する 2021年 6月更新

Unity上でカメラを複数台追加してHMDやコントローラの動きを見る 2021年 6月更新

  • Ovrvision Pro(ステレオカメラ)を使ってAR開発してみる

$1-1 Ovrvision Pro(ステレオカメラ)のセットアップをして実際に動かしてみる(この記事) 2021年 6月更新

$1-2 Ovrvision Pro(ステレオカメラ)とHMDを使ってARアプリ開発する 2021年 6月更新

  • Leap Motionを使ってハンドトラッキングしてみる

$2-1 Leap Motion(ハンドトラッキング)のセットアップをして実際に動かしてみる 2021年 6月更新

$2-2 Leap Motion(ハンドトラッキング)とHMDを使ったインタラクティブなアプリ開発する 2021年 6月更新

  • アプリを作ってみる

VR(仮想空間)上に曲面ディスプレイを作成して大画面で広角WEBカメラ映像を見る 2021年 5月更新

今回の記事では,

1.Ovrvision Proの動作確認をしてみる.
2.キャリブレーションを行う.
3.Unity上で実際に動かしてみる.
3.ARマーカーを使ったサンプルプログラムを動かしてみる.

という流れ.

1.Ovrvision Proの動作確認をしてみる.

まずはヘッドマウントディスプレイ(VIVE pro eye)にOvrvision Proを貼り付けます.付属の両面テープは粘着力が強すぎて剥がす時に汚くなりそうなので養生テープで貼り付けました.
00.png

まずはカメラの動作確認をするためにSDKをダウンロードしてきます.
公式ページにアクセスして"DEVELOPERS&SETUP"ページにアクセスします.
01.png

今回はUnityでの開発ですが,まずは"for Windows"をダウンロードします.
02.png

とりあえずダウンロードしてきたものを解凍します.
03.png

解凍したovrvisionprosdk_windowsフォルダ内にある
"\ovrvisionprosdk_windows\ovrvisionprosdk_windows\bin\x86"フォルダ内のovrvision_app_csharp.exeを起動します.
04.png

こういう画面が開きます.
05.png

左上に画質選択画面があります.
06.png

画質を選択したら横の"Open Ovrvision Pro"を押すと画面が映り,"Close Ovrvision Pro"で画面が閉じます.
画質のいい映像を送る関係上挿す場所や延長ケーブルによっては動かないこともあるので一応最高画質が動くようなケーブルを使いましょう.自分の環境では2mの延長ケーブルなら問題なく動きましたが5mだとダメでした.
07.png

2.キャリブレーションを行う.

動作確認ができたら
"\ovrvisionprosdk_windows\ovrvisionprosdk_windows\tool"フォルダ内のovrvision_calibration.exeを起動します.
08.png

キャリブレーション用のアプリが起動するので"Open Ovrvision"を押します.
09.png

右上のモニターに映像が映っていれば問題なくカメラが動いています.
10.png

カメラが問題なく動いていれば"Start Calibration"を押します.
11.png

定規で黒マスのサイズを測るように言われるのでモニタに定規を当ててサイズを測って入力します(モニタに傷がつきそうで怖い).
12.png

サイズを入力したらキャリブレーションのやり方が説明されます.
13.png

説明通りマス目がすべてカメラに収まるように少しづつ動かしながら"Find Chessboard"を押して合計25枚の写真を撮ります.
14.png

25枚撮り終わると自動的に調整され"Setup in the ... OK!"と表示が出れば大丈夫です.
15.png

画面の反射等で結構キャリブレーションは失敗するので次の工程で変に映像が歪んでいたらキャリブレーションし直しましょう.

3.Unity上で実際に動かしてみる.

ふただび公式ページのDEVELOPERS&SETUPにアクセスして""for Unity"をダウンロードします.
16.png

ダウンロードしたSDKは解凍して分かりやすいとこに置いておきます.
17.png

まずUnity2019.4.27f1でプロジェクトを作成し,Edit→Project Settingsを開きます.
01.png

Project Settingsタブが開いたらXR Plugin Managementの項目を開き,"Install XR Plugin Management"を押して設定をインストールします.
02.png

インストールが完了すると,各VR環境を有効にするか聞かれますが今回はOpenVRでの開発なのでチェックマークは入れなくていいです.
03.png

Project Settingsタブ内のPlayerの項目を開き,Virtual Reality Supportedの項目にチェックマークを入れます.
04.png

色々聞かれるのでとりあえずOKしとく.
05.png

確認ダイアログもOK.
06.png

一回目は色々聞かれるだけでチェックマークが有効にならないのでしっかりとチェックマークが入っていることを確認する.
07.png

このままだとSDKが1つも入っていない状態なので,Virtual Reality SDKsのリスト右下のプラスボタンからSDKの追加を行う.
08.png

今回はVIVEを使っているのでOpenVRを追加する.
09.png

リストにOpenVRが追加されている状態になっていればOk.
10.png

Assets→Import Package→Custom Packageを押します.
18.png

先ほど解凍した"\ovrvision\ovrvisionprosdk_unity\ovrvisionprosdk_unity/unity2019_ovrvision.unitypackage"を開きます.
19.png

何を入れるのか聞かれるのでデフォルト設定のまま"Import"を押します.
20.png

サンプルとして,インポートした"Ovrvision Pro/Demos"内のar_demoというサンプルシーンを開きます.
21.png

シーン内にあるOvrvisionProCameraを選択すると,パラメータが色々割り振られています.
22.png

今回はとりあえず画質を900*900にしておきます.
23.png

プログラムを動かすとこんな感じで動きます.もし片目しか映らない場合には次の$2-2の記事を試してみてください.
24.gif

4.ARマーカーを使ったサンプルプログラムを動かしてみる.

UnityのSDKの"\ovrvisionprosdk_unity2.0\marker_samples"フォルダにマーカーのサンプル画像があるのでこれを印刷します.
32.png

こんな感じで印刷されます.
image0.jpeg

さきほど開いた"Ovrvision Pro/Demos"内のar_demoというサンプルシーンにあるOvrvisionProCamera内のパラメーター内に
Use the OvervisionAR:AR機能を有効
AR Maker size(meter):ARマーカのサイズ(m単位)
というパラメータがあります.デフォルトでUse the OvervisionARにはチェックマークが入っており,AR Maker size(meter)にはサンプルで印刷したマーカーの0.15m(15cm)という値が入っています.
33.png

また,マーカーを表示させるためのオブジェクトであるOvervisionTrackerを選択すると,
Maker ID:何番のマーカーに反応するか
Time To Disappear:マーカーを見つけてから何秒間表示するか
のパラメーターが入っていますので適宜変更してください.
34.png

さきほど印刷した64番のARマーカをOvervisionでみるとOvervisionTracker内にあるCubeが表示されます.
35.gif

こんな感じで実際にサンプルを動かしてみました.
次回の記事ではもっとインタラクティブなMR空間を作れるようにOvervisionとSteamVR Pluginを組み合わせながら0からアプリを作っていきます.

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0