Fusionクロスプラットフォーム複合現実

Level
INTERMEDIATE

概要

このサンプルでは、Apple Vision Pro と Meta Quest の両方のユーザーがマルチプレイヤーセッションを共有できるようにするアプリケーションの準備方法を紹介します。

Apple Vision Pro のユーザーは、Meta Quest のユーザー体験に似た没入型スペースを使用することも、範囲が限られた領域から全体を俯瞰してシーンを見ることもできます。

このユースケースでは、ユーザーが Kenney のモジュール式建築アセット から提供される小さなブロックを使って、小さな建物を作ることができます。

これらのブロックは、ユーザーが自分の手を見たときに表示されるメニュー内にあります。

Demo screenshot 1

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

Demo screenshot 2

Apple Vision Pro のユーザー向けには、メニューから「バウンデッドボリュームモード」へ移行することができ、他のアプリと共存可能な visionOS の共有スペース内で、部屋全体を上から俯瞰して見ることができます。

クロスプラットフォーム対応

このサンプルは、Apple Vision Pro と Meta Quest の両方のヘッドセットデバイスに対応しています。

サンプルに含まれる visionOS 用の補助ツールによって、visionOS における適切な調整(例えば、間接ピンチ操作のサポートなど)が自動的に行われます。

複合現実

このサンプルは、パススルー表示と平面検出を用いたミクストリアリティに焦点を当てています。

ローカルユーザーの周囲の平面(床やテーブルなど)が検出され、そこに建築ブロックを配置することができます。ただし、検出された平面は同期されず、それを検出したユーザーにのみ表示されます。

Meta Quest に関する注意:
現在のところ、実際の平面を検出するには、ユーザーがまず Quest のOS設定で「ルーム設定(Room setup)」を行う必要があります。

visionOS 機能サポート

オブジェクトは、すべてのプラットフォームで直接ピンチ操作によって掴むことができ、visionOS では間接ピンチ操作にも対応しています。

visionOS では、アプリの起動中に「バウンデッドボリュームモード」と「アンバウンデッドボリュームモード」の切り替えが可能です。バウンデッドボリュームモード中は、他のユーザーには体のパーツの表示が消えます。

Demo screenshot 3

技術情報

  • このサンプルは「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 を押して実行します。

ダウンロード

VersionRelease DateDownload
2.0.66月 04, 2025Fusion Cross Platform Mixed Reality 2.0.6

フォルダ構造

メインフォルダ /CrossPlatformMR には、このサンプルに特有のすべての要素が含まれています。

/Photon フォルダには、Fusion および Photon Voice SDK が含まれています。

/Photon/FusionAddons フォルダには、このサンプルで使用されている XR アドオンが含まれています。

/XR フォルダには、仮想現実(VR)用の設定ファイルが格納されています。

使用したFusion XRアドオン

私たちは、3D/XR アプリケーションのプロトタイピングを加速させるための再利用可能なアドオンを無料で提供しています。
以下は、このサンプルで使用しているアドオンの一覧です。

Dependencies

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(マグネット) アドオンは、オブジェクトが掴まれていないときに、他のオブジェクトに引き寄せられるシンプルな方法を示しています。

サードパーティーコンポーネント

Back to top