Fusionクロスプラットフォーム複合現実
概要
このサンプルでは、Apple Vision Pro と Meta Quest の両方のユーザーがマルチプレイヤーセッションを共有できるようにするアプリケーションの準備方法を紹介します。
Apple Vision Pro のユーザーは、Meta Quest のユーザー体験に似た没入型スペースを使用することも、範囲が限られた領域から全体を俯瞰してシーンを見ることもできます。
このユースケースでは、ユーザーが Kenney のモジュール式建築アセット から提供される小さなブロックを使って、小さな建物を作ることができます。
これらのブロックは、ユーザーが自分の手を見たときに表示されるメニュー内にあります。

ブロックは上部と側面に磁力を持っており、互いにくっつくようになっています。
また、ユーザーの実際の部屋にある水平面(テーブルなど)も磁力を持つため、その上に建築ブロックを配置することができます。

Apple Vision Pro のユーザー向けには、メニューから「バウンデッドボリュームモード」へ移行することができ、他のアプリと共存可能な visionOS の共有スペース内で、部屋全体を上から俯瞰して見ることができます。
クロスプラットフォーム対応
このサンプルは、Apple Vision Pro と Meta Quest の両方のヘッドセットデバイスに対応しています。
サンプルに含まれる visionOS 用の補助ツールによって、visionOS における適切な調整(例えば、間接ピンチ操作のサポートなど)が自動的に行われます。
複合現実
このサンプルは、パススルー表示と平面検出を用いたミクストリアリティに焦点を当てています。
ローカルユーザーの周囲の平面(床やテーブルなど)が検出され、そこに建築ブロックを配置することができます。ただし、検出された平面は同期されず、それを検出したユーザーにのみ表示されます。
Meta Quest に関する注意:
現在のところ、実際の平面を検出するには、ユーザーがまず Quest のOS設定で「ルーム設定(Room setup)」を行う必要があります。
visionOS 機能サポート
オブジェクトは、すべてのプラットフォームで直接ピンチ操作によって掴むことができ、visionOS では間接ピンチ操作にも対応しています。
visionOS では、アプリの起動中に「バウンデッドボリュームモード」と「アンバウンデッドボリュームモード」の切り替えが可能です。バウンデッドボリュームモード中は、他のユーザーには体のパーツの表示が消えます。

技術情報
- このサンプルは「Shared Mode(共有モード)」のトポロジーを使用しています
- プロジェクトは、Unity 6、Fusion 2、Photon Voice 2.59、Polyspatial 2.0.4 を使用して開発されています
はじめに
このサンプルを実行するには、以下の手順を行ってください:
PhotonEngine ダッシュボード で Fusion 用の AppId を作成し、Fusion メニューからアクセスできる「Real Time Settings」の
App Id Fusion
欄に貼り付けてください。同様に、Voice 用の AppId を作成し、「Real Time Settings」の
App Id Voice
欄に貼り付けてください。その後、
MainScene
シーンを読み込み、Play
を押して実行します。
ダウンロード
Version | Release Date | Download |
---|---|---|
2.0.6 | 6月 04, 2025 | Fusion Cross Platform Mixed Reality 2.0.6 |
フォルダ構造
メインフォルダ /CrossPlatformMR
には、このサンプルに特有のすべての要素が含まれています。
/Photon
フォルダには、Fusion および Photon Voice SDK が含まれています。
/Photon/FusionAddons
フォルダには、このサンプルで使用されている XR アドオンが含まれています。
/XR
フォルダには、仮想現実(VR)用の設定ファイルが格納されています。
使用したFusion XRアドオン
私たちは、3D/XR アプリケーションのプロトタイピングを加速させるための再利用可能なアドオンを無料で提供しています。
以下は、このサンプルで使用しているアドオンの一覧です。

visionOSヘルパー
visionOS helpers アドオン は、visionOS プラットフォーム特有の仕様に対応するためのものです。
このアドオンは、XRShare におけるオブジェクトの掴み操作と互換性のある間接ピンチ操作を可能にし、Polyspatial におけるバウンデッド/アンバウンデッドの状態を同期するためのツールも提供します。
さらに、LineRenderer
の代替ツールや、Unity 上で visionOS のウィンドウ動作を模倣するための補助機能など、クロスプラットフォーム対応のツールも含まれています。
XRHands同期
XRHands 同期アドオン は、XR Hands の手の状態(指のトラッキングを含む)を高いデータ圧縮率で同期する方法を示しています。
また、ピンチや掴みといったジェスチャーを検出するための補助クラスも提供しています。
Voiceヘルパー
Voice Helpers アドオン は、Fusion XR プロジェクトにおいて Photon Voice を簡単に設定するためのコンポーネントを提供します。
XRShared
XR Shared は、リグパーツの同期ロジックの中核部分を提供するとともに、掴みなどの基本的なインタラクション機能も備えています。
ConnectionManager
ConnectionManager
アドオンは、接続の開始処理を管理し、ユーザーのアバター(ユーザー表現)を生成します。
詳しくは ConnectionManager アドオン をご覧ください。
ExtendedRigSelection
このアドオンは、本サンプルで必要となる複数のリグ構成を切り替える機能を提供します。実際に、このサンプルには以下の3つの構成が含まれています:
- Meta 用ビルドの VR リグ
- Apple Vision Pro ビルドのアンバウンデッドモード用リグ(デフォルトの起動モード)
- Apple Vision Pro ビルドのバウンデッドモード用リグ(代替として推奨される起動モード)
詳しくは Extended Rig Selection Industries Addons をご覧ください。
マグネット
Magnets(マグネット) アドオンは、オブジェクトが掴まれていないときに、他のオブジェクトに引き寄せられるシンプルな方法を示しています。
サードパーティーコンポーネント
- Oculus Sample Framework のハンドアセット
- Kenney のモジュール式建築アセット
- サウンド
- nathangibson - Universal UI Soundpack
- obsydianx - Interface SFX Pack 1