はじめに
第12回VRフェスに出展した作品でMeta Questの Passthrough API と シーンモデルを利用したMR作品を制作したので、備忘録として、パススルーとシーンモデルの設定方法を記事にします。
今回は、環境構築~パススルー設定までの記事となります
環境
- Unity 2022.2.11
- Oculus Integration v.50
環境構築
Unity Projectの作成
プラットフォームをAndroidに変更
Project Settingsの設定
Edit > Project Settingsメニュー
Player
- Company Nameを適当な一意のものに変更
- Other Settingsの項目を修正
Quest Pro であれば、Minimum API Level は、Android 10.0 にしてしまっても問題ありません。
Graphics
Scriptable Render Pipeline Settings を「URP-Balanced」に変更
Quality
- Balancedに変更
- URP-Balanced-Rendererファイルの修正
Projectウインドウ
Assets > Settings > URP-Balanced-Renderer
Screen Space Ambient Occlusionの設定を外す
この設定を変更しないと、Questの実機でFPSが極端に下がります
XR Plugin Management
Oculus Integrationのインポート
Window > Package Managerメニュー
Unityアセットストアで購入(無料です)していない方は、先に購入してください
- 以下のパッケージを選択してインポート
OculusProjectConfig.asset と VR は必須です。
それ以外は、必須ではありませんが、有用なのでインポートしておきます。
- 以下の選択肢を選ぶとUnityが再起動します
パススルーの設定
ここからが本題のパススルー設定となります。
パススルー用にシーンを作成
Main Cameraを削除して、OVR Camera Rigを設置
Assets > Oculus > VR > Prefabs > OVRCameraRig
OVR Camera Rigの設定
OVR Managerコンポーネント
Passthrough Support を「Required」or 「Supported」に変更すると「Enabled Passthrough」の項目が出現するのでチェックする
OVRPassthroughLayerコンポーネントをアタッチ
Assets > Oculus > VR > Scripts > OVRPassthroughLayer
Placementを「Underlay」に変更する
現実世界のレイヤーとなるため、「Underlay」に設定することで、CGのレイヤーの下に配置される
SkyBoxの設定をクリア
このままだと、SkyBoxが現実世界の上に表示されるため、SkyBoxをクリアします
Window > Rendering > Lightingメニュー
Skybox Material を削除して、環境光を0にしてしまいます
適当にCGを配置してビルド
Quest Proでの実行結果
参考になれば、幸いです。
次回は、シーンモデルについて記事にします。