はじめに
どうも、土鍋です。
この記事はAizu Advent Calendar 2024の10日目の記事です。
一年前くらいに下の記事を書いたのですが、どうやら2024/5/16リリースのMeta XR SDK v65でだいぶ仕様が変わっていたので新しい記事を書きました。
Meta XR SimulatorでMR空間をシミュレーションする
プレイボタン左のボタンからSimulatorを有効化し、XR環境をシミュレーションできます。
毎回実環境でビルドしてテストするのは効率が悪いので、Synthetic Environment Serverからパススルーで見える現実空間をシミュレートできるようになります。
Tools Prefab
MRUKやそれに付随するツール群を使うことで部屋のデータにアクセスできます。
Prefab群は Packages > Meta MR Utility Kit > Core > Tools にあります。
Scene上にMRUK Prefabを追加するだけでScene API関連のものが勝手に動作します。 そのため特にこれから先の作業が必要ない場合(Raycastするなど)はこれだけで大丈夫です。
MR環境構築の具体的な内容は以下をご覧ください。
https://developers.meta.com/horizon/documentation/unity/unity-mr-utility-kit-gs?locale=ja_JP
AnchorPrefabSpawner
AnchorPrefabSpawner Prefabを追加することで、部屋の壁や家具に対応して特定のPrefabを生成させることができるようになります。
これは前のバージョンでOVRSceneManagerとされてたものです。
Prefabs To Spawnで生成したいもののPrefabを設定できます。
デフォルトの状態そのままを実行すると下のように部屋のレイアウトに合わせてPrefabが生成されているのが確認できます。
RoomModel
RoomModel Prefabは基本的にはAnchorPrefabSpawner Prefabと一緒です。
適用されているPrefabが半透明なので現実空間が見やすいといった感じです。
Labelsを切り替えることでそのPrefabの適用先を変更できます。
EffectMesh
https://developers.meta.com/horizon/reference/mruk/v69/class_meta_x_r_m_r_utility_kit_effect_mesh
EffectMeshは特定のマテリアルやコライダーを指定したLabelに適用するものです。
GlobalMeshを可視化するにはLabelsにGlobalMeshを指定してあげることで見えるようになります。
Collidersのチャックボックスにチェックをいれるとメッシュにコライダーをつけることができます。
RoomGuardian
通常のQuestのガーディアンのように物理空間のガーディアンを表示できます。
参考
https://developers.meta.com/horizon/reference/mruk/v69/class_meta_x_r_m_r_utility_kit_effect_mesh
https://developers.meta.com/horizon/downloads/package/meta-xr-mr-utility-kit-upm/65.0