共有オブジェクトの表示方法
これらのステップを踏むことで、同じShared ARエクスペリエンスで、同じ現実世界の場所にある同じオブジェクトを複数のユーザーに表示することができる。 また、プレーヤーの実世界のデバイス位置を追跡して、ターゲットとして使用したり、デバイス同士の相対的な位置を取得したり、プレーヤーのステータスを表示したり、エフェクトをかけたりすることもできます。
前提条件
- 共有AR体験の作成方法については、 How to Use Shared AR。
- Unity ドキュメントの Get started with NGO の説明を読み、実行してください。
- Unityのドキュメントにある Object Spawning の説明を読んで実装してください。
- Unityのドキュメントにある、 Owner Authoritative Mode。
共有ネットワークオブジェクトの表示
Object Spawnning を使用すると、Shared ARエクスペリエンスを使用している全員に同じ場所にオブジェクトを表示できます。 以下の手順に従ってください:
NetworkObject コンポーネントを追加する代わりに、 LightshipNetworkObjectを追加する以外は、 Network Spawning Object をUnityに登録する手順に従ってください。 (これにより、 NetworkObjectも自動的に追加される)。
NGO Objectと同じようにオブジェクトをインスタンス化し、スポーンします。
インスタンス化され、スポーンされると、オブジェクトはシーン内の XR Origin > Trackables > Persistent Anchor > ARLocation > SharedArRoot の下に表示され、同じLightship Room内のすべての接続されたデバイス上のUnityシーンの Hierarchy に表示されます。
デバイスポジションの同期
Owner Authoritative Mode を使用して、 NGO Object を使用し、ピアデバイスの位置を同期することができます。 これを利用して、選手のアバターを正しい位置に表示することができる。 以下の手順に従ってください:
- プレハブを作成し、 NetworkManager にプレーヤープレハブとして登録します。
- NetworkTransform を拡張する
ClientNetworkTransform
Component を、クライア ント権限を持つプレーヤ アバター用のプレーヤ プレハブに追加します。 - カメラのトランスフォームをコピーして位置トランスフォームを更新する
NetworkBehaviour
スクリプトをプレーヤープレファブに追加します:{PlayerAvatar}
- このサンプルをビルドし、2台のデバイスで同時に実行します。 セッション内の各デバイスにプレーヤープレファブが表示されるはずです。
現在、すべてのメッセージは米国中部にあるサーバーを経由して中継されています。