お題
Meta Quest 3 では、ルーム設定が自動化され、部屋の中にあるオブジェクトも自動的に認識され、アプリケーションからは Global Mesh として利用可能になりました。今回はこれを実際に利用するための設定を試してみたいと思います。
またこれと同時に登場した、Oculus Integration の最新版 v57 により、複合現実 (Mixed Reality / MR) 関連設定がかなり簡単になったのでこちらと合わせて具体的な設定方法を紹介します。
プロジェクト初期設定
- Unityプロジェクトを作成する
- パッケージマネージャ (Windows - Package Manager) で Oculus Integration (v57)をインストールする
- Build Settings で Android を選んで Switch Platform する
- Project Settings - Oculus の Outstanding Issues を Fix All (2回実行する必要があるかも)。さらに Recommended Items で Apply All して、Checklist 上のすべての項目を verified にする
シーン作成
Building Blocks の追加
- シーンに存在する Main Camera を削除する
- メニューから Oculus - Tools - Building Blocks を選択して Building Blocks ウインドウを表示する
- Building Blocks ウインドウの中から Camera Rig, Background Passthrough, Room Model を追加する
- (テストのために) Throwable Item も追加する
全てを追加すると以下のようになります。
OVRSceneManager の設定 (ルーム設定)
[BB] Room Model をインスペクタで開いて以下の設定を行う
Plane Prefab に設定されている Prefab を InvisiblePlane に変更する
Volume Prefab に設定されている Prefab を InvisibleVolume に変更する
Prefab Overrides を開いて、 GLOBAL_MESH を追加し、Global Mesh Collider プレハブを設定する
- ここで Global Mesh Collider の代わりに Global Mesh Renderer Collider を指定すると、Global Mesh の状態を視覚的に確認できる
Throwable Item (テスト用オブジェクト) の設定
(こちらは設定必須ではありませんが) [BB] Throwable Item に関しては、目の前に現れるように Transform の Position Z を 0.5 あたりに設定しておくのがおすすめです。
動作確認
GLOBAL_MESH として Global Mesh Renderer Collider を指定すると以下のような表示になります。