[Unity]Meta Quest で部屋のメッシュを使う (SDK v59)
Meta Quest 3 + Meta XR Core SDK v59 で部屋のメッシュを使う方法のメモです。
概要
壁や床、バーチャル家具などを扱える Scene Model の機能を使い、特定の種類 (GLOBAL_MESH) のオブジェクトを部屋のメッシュに差し替えます。
手順
v57 からサンプルをコピー
v59 には壁や床のサンプルプレハブが入っていません。手でセットアップはできますが、不慣れな場合は v57 からサンプルプレハブを持ってきた方が楽かと思います。
Assets/Oculus/SampleFramework/Usage/SceneManager をコピーしておきます。
手で作るなら以下のページなどに情報があります。日本語だと違う内容になるので、ページ下の言語設定を English(US) にすることをおすすめします。
OVRManager の設定
OVRCameraRig > OVRManager の
- Scene Support を Supported または Required に
- Passthrough Support を Supported または Required に
- Enable Passthrough にチェック
OVRSceneManager の配置
OVRSceneManager プレハブをシーンに置きます。
Plane Prefab と Volume Prefab を指定します。
部屋のメッシュの使用
OVRSceneManager の Prefab Overrides を開いて、GLOBAL_MESH に Global Mesh Renderer Collider プレハブを指定します。
これで部屋のメッシュ表示とコライダができます。
プレハブを自分でセットアップする場合は以下が参考になります。日本語ページに情報はないので、ページ下の言語設定を English(US) にしてください。
Scene Mesh - Use OVRSceneManager: Unity | Oculus Developers
あとは適宜メッシュを非表示にしたり、オブジェクトの影だけ表示するシェーダーに差し替えるなどするとよいです。
こちらはサンプルの Unlit/WireframeShader をいじって透過にしたものです。
Mesh API さわりはじめました #Quest3 pic.twitter.com/HYmP2rQucJ
— ウダサン (@udasan_koubou) November 15, 2023
こちらはオクルージョンと影を表示したものです。
部屋のメッシュ取れたし ころがりあんでも投げるか #Quest3 pic.twitter.com/AJCt15uhml
— ウダサン (@udasan_koubou) November 21, 2023
おしまい
コメント
コメントを投稿