MRが楽しい

MRやVRについて学習したことを書き残す

Meta QuestのShared Spatial Anchorsについて調査する

本日は Meta Quest の技術調査枠です。
Meta Quest の Shared Spatial Anchors について調査を始めます。

Meta QuestのShared Spatial Anchors

2023/2/7以下の記事が更新されました。
Platform SDK v49 から、Shared Spatial Anchors は Meta Quest Pro、Meta Quest 2 および PC Link でもサポートされるようになったとのことです。
https://developer.oculus.com/blog/build-local-multiplayer-experiences-shared-spatial-anchors/

こちらの記事を読み解きつつ、必要な技術要素について調査し実際に動作確認できるまで進めてみたいと思います。
本記事では一旦参照ページを日本語訳して読み解いていきます。

Meta Questで空間アンカー(Spatial Anchors)を共有したマルチプレイヤー体験を構築する

2022年の初めに、私たちは Spatial Anchors をリリースしました。
これは仮想コンテンツを物理的な世界に固定することができるようにするものです。
現実世界の特定の場所(例えば、壁など)に一度仮想コンテンツを配置すると、同じ場所に戻るたびに配置した仮想コンテンツを見ることができます。

・空間アンカーの概要
https://developer.oculus.com/documentation/unity/unity-spatial-anchors-overview/?intern_source=devblog&intern_content=build-local-multiplayer-experiences-shared-spatial-anchors

本日 Presence Platform の Spatial Anchors 機能に Shared Spatial Anchors を追加しました。
Shared Spatial Anchors はあるユーザーが作成したアンカーを同じ物理空間内にいる他のユーザーと共有できるものです。
これにより複数のユーザーで世界観を共有する枠組みを作り、現実世界でマルチプレイヤー体験を構築することができます。
例えば2人以上の人が同じテーブルに座り、その上でバーチャルボードゲームをプレイすることができます。

・Shared Spatial Anchors
https://developer.oculus.com/documentation/unity/unity-shared-spatial-anchors/?intern_source=devblog&intern_content=build-local-multiplayer-experiences-shared-spatial-anchors

Meta Connect では、Meta Horizon Workrooms 向けに開発中の Shared Spatial Anchors を利用した複合現実体験「Magic Room」のスニークピークをお見せしました。
「Magic Room」では、同じ場所にいる人、離れた場所にいる人を問わず、様々な人が一緒に共同作業できます。
また、同じ部屋にいる人が同じ場所に固定された仮想コンテンツを見ることができる「Advanced Vehicle Combat」のようなローカルマルチプレイヤーゲームも紹介しました。
・Magic Room について
https://www.meta.com/ja-jp/blog/quest/future-of-work-meta-connect-2022-quest-pro-microsoft-accenture/?intern_source=devblog&intern_content=build-local-multiplayer-experiences-shared-spatial-anchors&utm_source=developer.oculus.com&utm_medium=oculusredirect
・Horizon Workrooms
https://www.oculus.com/experiences/quest/2514011888645651/?intern_source=devblog&intern_content=build-local-multiplayer-experiences-shared-spatial-anchors

Shared Spatial Anchors

Shared Spatial Anchors は Spatial Anchors API を拡張したもので空間アンカーを共有することでマルチプレイヤー体験を可能にするメソッドを追加しています。
空間アンカーを読み込むとユーザーは枠組みを共有できるようになり、双方のデバイスで共通の仮想環境とコンテンツを表示できます。

このような体験を生み出すために、Shared Spatial Anchors は以下のようなアクションを可能にします。
・保存:空間アンカーとそれに関連する点群を Meta サーバーに保存します。
・共有:他のユーザーに空間アンカーへのアクセスを許可する。(ダウンロード、追跡、共有)
・ダウンロード:共有された空間アンカーを取得する。
・配置:空間アンカーに対するヘッドセットの6DoFポーズを検索して取得します。

ユーザーのプライバシーを保護する

マルチプレイヤー体験に参加したい人は Meta で「点群データの共有」をオンにする必要があります。
(これにより「点群」と呼ばれる点の集合に変換された環境に関する情報を共有します)
同じ場所にいる他のユーザーが自分と同じ仮想コンテンツを見るためには、双方のヘッドセットで同じ点群データを共有する必要があります。

「点群データの共有」をオンにすると、ヘッドセットの点群データが Meta サーバーを経由して他のヘッドセットと共有されます。
「点群データの共有」は設定でいつでもオン・オフが可能です。

・Meta Questとポイントクラウドについて
https://www.meta.com/ja-jp/help/quest/articles/in-vr-experiences/oculus-features/point-cloud/?intern_source=devblog&intern_content=build-local-multiplayer-experiences-shared-spatial-anchors

可用性

Shared Spatial Anchors は現在、Meta Quest Pro、Meta Quest 2、PC Link をサポートしています。
APIは OpenXR、Unity および Unreal の開発者が利用できます。

ドキュメントを参照して詳細を確認し、開発者の参考のために用意されているサンプルにアクセスすることで使い始めることができます。
・Shared Spatial Anchors
https://developer.oculus.com/documentation/unity/unity-shared-spatial-anchors/?intern_source=devblog&intern_content=build-local-multiplayer-experiences-shared-spatial-anchors

その他考慮すべき点

ローカル・マルチプレイヤーは物理的な空間を共有し、周囲の視界が制限される中に多人数が参加します。
混雑した体験は安全上のリスクを生みます。構築される共有体験のために、プレイスペースの占有率に気を配ることが重要です。

より詳しいガイダンスと開発者に向けた安全衛生に関するサンプルアプリへのリンクは Shared Spatial Anchors Health and Safety Guidelines を参照してください。
・Shared Spatial Anchors Health and Safety Guidelines
https://developer.oculus.com/resources/mr-health-safety-guideline/#shared-spatial-anchors?intern_source=devblog&intern_content=build-local-multiplayer-experiences-shared-spatial-anchors
・Health and Safety Sample Apps
https://developer.oculus.com/resources/unity-ssa-hs-app/?intern_source=devblog&intern_content=build-local-multiplayer-experiences-shared-spatial-anchors