Metaverse 概要
概要
このサンプルは、シンプルなメタバースを開発するためのアプローチを示します。
そのため、アプリケーションでは音楽・アート・ゲームなどのいくつかのユースケースを説明します。
プレイヤーはポータルを使用して自由にシーンからシーンへと移動できます。
プレイヤーは個人グループをセットアップするだけで、友人とこれらの異なるスペースを楽しむことができます。
このサンプルに含まれるシーンは以下の通りです。
- Avatar Selection:最初にアバターとニックネームを選択するものです。
- Hub:ここがプレイヤーの開始地点です。主にこのシーンは、他のスペースに巡回するために使用されます。
- Picazoo:このシーンには、ペイントガンで動物園に隠れた動物を見つけて特定するミニゲームがあります。
- Music:DJ気分になりたい人のためのシーンです!
- Art Gallery:ここで、動的にアートワークを表示するAPIの使用方法を説明しています。
技術情報
- サンプルは共有モード(Shared Mode)を使用
- 対象プラットフォームは、PC・Mac・Meta Quest
- 開発環境は、Unity 2021.3、Fusion 2、Photon Voice 2.53
- 2つのアバターソリューションに対応(自作のシンプルなアバター・「Ready Player Me」アバター)
事前準備
サンプルを実行するには、
ダッシュボードからFusionのAppIdを作成して、Realtime Settings(Fusionメニューから選択可能)の
App Id Fusion
フィールドに貼り付けてください。ダッシュボードからVoiceのAppIdを作成して、Realtime Settingsの
App Id Voice
フィールドに貼り付けてください。それから、
AvatarSelection
シーンをロードして、Play
を押してください。
ダウンロード
バージョン | リリース日 | ダウンロード | |
---|---|---|---|
2.0.0 | Oct 16, 2024 | Fusion Metaverse 2.0.0 Build 690 |
操作方法
デスクトップ
キーボード
- 移動: WASD or ZQSD で移動
- 回転: QE or AE で回転
マウス
- 移動: マウス左クリックでポインタ表示、対象にテレポート
- 回転: マウス右ボタン押下中にドラッグで視点の回転
- 移動 & 回転: マウス左右ボタン押下で前進、視点の回転も可能
- 掴む: マウス左ボタンを使用してオブジェクトを掴む
Meta Quest
- テレポート: ABXYかスティック押下でポインタ表示、対象にテレポート
- 触る (チャットバブルのロックボタンなど): 単純にボタンに触れて動かす
- 掴む: コントローラーのグラブボタンを使用してオブジェクトを掴む
フォルダー構造
サンプルに関するファイルは、メインフォルダーの/Metaverse
以下にすべて含まれ、各ユースケースごとにサブフォルダーがあります。
/IndustriesComponents
には、他のIndustries Samples(Fusion Meetingサンプルなど)と共有されるコンポーネントが含まれます。
/Photon
フォルダーには、FusionとPhoton Voice SDKが含まれます。
/Photon/FusionXRShared
フォルダーには、リグとグラブのロジックが含まれます。これはVR Sharedサンプルを元にしており、その軽量なFusionXRShared SDKは他のプロジェクトでも共有されています。
/Photon/FusionAddons
フォルダーには、このサンプルで使用されるIndustriesアドオンが含まれます。
/XR
フォルダーには、VRの設定ファイルが含まれます。
アーキテクチャ概要
Metaverseサンプルは、VR Sharedと同じコードベースに依存しています(特にリグの同期)。
ここで使われるグラブシステムは、VR Shared - Local rig grabbingページの実装の改変版です。
それに加えて、このサンプルではいくつかのIndustriesアドオンを使用しています。
使われているXRアドオンとIndustriesアドオン
3D/XRプロジェクトのプロトタイピングを誰でも簡単に始められるように、無料のアドオンを提供しています。
詳細はXR Addonsをご覧ください。
また、Industries Circleメンバー向けに、再利用可能な総合的なアドオンを提供しています。
詳細はIndustries Addonsをご覧ください。
このサンプルで使用したアドオンは以下の通りです。
XRShared
XRSharedアドオンは、XR体験を作成するための、Fusionと互換性がある基本コンポーネントを提供しています。
プレイヤーのリグパーツの同期や、グラブやテレポートなどのシンプルな機能を担当します。
詳細はXRSharedをご覧ください。
Spaces
Spacesアドオンは、ユーザーがシーンからシーンへ移れるようにするために使用されています。
また、ユーザーはパブリックグループか、特定のグループ番号のプライベートグループに参加できます。
これは、アバター選択画面か、アプリケーションメニューから選択することができます。
詳細はSpace Industriesアドオンをご覧ください。
ConnectionManager
接続処理の起動とユーザーのスポーンを管理するために、ConnectionManager
アドオンを使用しています。
詳細はConnectionManagerアドオンをご覧ください。
Extended Rig Selection
サンプルで必要となる2つのリグを切り替えるために使用したアドオンです。
- Metaビルド用のVRリグ
- WindowsとMac用のデスクトップリグ
詳細はExtended Rig Selection Industriesアドオンをご覧ください。
Avatar
このアドオンは、シンプルなアバター一式を含むアバター機能に対応しています。
詳細はAvatar Industriesアドオンをご覧ください。
Ready Player Me Avatar
Ready Player Meアバターとのインテグレーションのアドオンです。
詳細はReady Player Me Avatar Industriesアドオンをご覧ください。
Social distancing
快適なパーソナルスペースを確保するため、Social distancingアドオンを使用しています。
詳細はSocial distancing Industriesアドオンをご覧ください。
Locomotion validation
プレイヤーの移動を(定義されたシーン境界にとどまるように)制限するため、Locomotion validationアドオンを使用しています。
詳細はLocomotion validation Industriesアドオンをご覧ください。
Dynamic Audio group
快適さと帯域消費を最適化するユーザー間の距離を考慮しながら、ユーザー同士のチャットを可能にするため、Dynamic Audio groupアドオンを使用しています。
そのため、ネットワークユーザープレハブ(MetaverseNetworkRig
)は、DynamicAudioGroupMember
クラスを持ちます。
詳細はDynamic Audio group Industriesアドオンをご覧ください。
備考:多くの人が一つの場所に集まると、どうしてもトラフィックは増大します。このような場合は、追加の制限(密度に応じて近接距離を動的に減らす、フォローするユーザー数を制限するなど)が必要になるでしょう。
Desktop Focus Mode
このアドオンは以下のように使用されます。
- Art Galleryシーンでの、アートワークや説明文のズーム
- Musicシーンでの、DJパッドの使用
詳細はDesktop Focus Industriesアドオンをご覧ください。
Feedback
アプリケーションのサウンドと、触覚や音声のフィードバックを集中管理するために、Feedback
アドオンを使用しています。
詳細はFeedbackアドオンをご覧ください。
サードーパーティー製コンポーネント
- Oculus Integration
- Oculus Lipsync
- Oculus Sample Framework hands
- Ready player me
- Sounds
- 3D assets :
- kenney
- Quaternius
- Low poly elephant by MrEliptik is licensed under Creative Commons Attribution (http://creativecommons.org/licenses/by/4.0/)
- Audio Vizualization :