【Unity】【OculusQuest】立ってプレイするゲームを作る
OculusQuestはスタンドアロンなVR機です。
せっかくなんですから、立ってプレイしたいですよね!?
そんなあなたの希望を叶える方法をご紹介します。
開発環境
- Unity 2019.1.2
- Oculus Integration 1.39
- Visual Studio 2017
OVRPlayerControllerを使う
↑の記事でご紹介しましたが、OVRPlayerControllerを使うとVR空間内を自由に移動することができます。
このコンポーネントにUse Profile Dataというパラメータがありまして、プレイヤーの物理的な身長データを使用するかどうかを選択できます。
まずはこいつをONにしましょう。
TrackingOriginをFloor Levelにする
次に、OVRCameraRigにアタッチされているOVRManagerのTracking Origin Typeを変更しましょう。
これでオッケーです!
あとはプレイ前のガーディアン設定で、床の調整をしっかりとやっておきましょう。
コントローラを床にタッチさせることで、正確に検知することができます。
比較してみる
あああ、めっちゃ分かりづらい(汗
1個目の動画がUseProfileData=あり、TrackingOriginType=FloorLevel
2個目の動画がUseProfileData=なし、TrackingOriginType=EyeLevel
1mのキューブを床に配置しています。
なんとなく違いがお分かりいただけたでしょうか・・・。
結論
- 立ってプレイするアプリを作るには、OVRPlayerControllerのUseProfileData=あり、OVRCameraRigのTrackingOriginType=FloorLevelに設定する。
- OculusQuestに床位置をきちんと認識させるには、ガーディアン設定時にコントローラで床をタッチすると良い。
- ぶっちゃけ、設定はそのままでカメラの位置だけ上の方に設定するのでも良かったりするのかも・・・?(未検証)
↑↑↑ ぜひ遊んでみてください!↑↑↑