共有ARのデバッグ方法
共有ARは、マルチプレイの複雑さとARの複雑さを一緒にしてしまうので、共有ARのデバッグはかなり面倒になる。 例えば、開発中に問題をデバッグするために、複数のデバイスや複数のUnityエディタのインスタンスを開く必要があります。 マルチプレイヤーは、シングルデバイスのアプリケーションと比較して、レースコンディションやタイミング関連の問題を引き起こす可能性もある。 このHow-Toは、共有AR体験をデバッグするためのヒントを共有し、ARマルチプレイヤーアプリケーションのトラブルシューティングとデバッグのためのガイドとなります。 使えるテクニックは3つある:
- PlaybackとParrelSyncによる複数のUnity Editorインスタンスでのデバッグ
- Unityエディタとデバイス間のデバッグ
- デバイスのデバッグ
前提条件
このハウツーには以下が必要です:
- Netcodeを使用したVPSコロカライゼーションの使用方法」または「Netcodeを使用した画像トラッキングコロカライゼーションの使用方法」のいずれかを修了していること。
- 再生準備完了。
- お使いのマシンにインストールされているParrelSync。
UnityエディタでPlaybackとParrelSyncを使ってデバッグする
ParrelSyncはUnityエディタの拡張機能で、2つ目のUnityエディタウィンドウを開き、元のプロジェクトからの変更をミラーリングすることで、ユーザーはプロジェクトをビルドせずにマルチプレイヤーゲームプレイをテストすることができます。
- ParrelSyncメニューからクローンマネージャーを開きます。 クローンマネージャーで 新規クローンの作成をクリックし、クローンプロジェクトを作成します。 完成までには時間がかかるかもしれない。
- をクリックし、クローンされたプロジェクトを開きます。 オリジナルのプロジェクトが変更されると、クローン化されたプロジェクトにも最新の情報が反映される。
- 複数のエディタでプロジェクトをプレイモードで実行します。 すべてのインスタンスはセッションに参加し、コロカライズする必要がある。 両方のインスタンスが同じルームに接続されていることを確認してください。
Unityエディターとデバイス間のデバッグ
ARトラッキングはUnityエディタでは完全には動作しませんが、Unityエディタとデバイス間で共有ARをテストすることは、物理デバイス上でAR Multiplayerを実行しながらステートとシーン階層を検査するのに便利です。 ARDKはまた、Unityエディタとデバイス間のテストやデバッグを行うための「モックコローカライゼーション」モードもサポートしています。 このモードはネットワーク機能にのみ適用される。
-
Hierarchyで XR Origin を選択します。 Inspector ウィンドウで、 Shared Space Manager コンポーネントを見つけ、 Colocalization Type を選択し、 MockColocalizationを選択します。
-
スクリプトで、
MockColocalization
設定をテストし、独自のペイロード値で部屋をセットアップします。 使用例:
if (_sharedSpaceManager.GetColocalizationType() ==
SharedSpaceManager.ColocalizationType.MockColocalization)
{
// Set room to connect
var mockTrackingArgs = ISharedSpaceTrackingOptions.CreateMockTrackingOptions();
var roomArgs = ISharedSpaceRoomOptions.CreateLightshipRoomOptions(
"TestRoom",
32,
"Test room using mock colocalization"
);
_sharedSpaceManager.StartSharedSpace(mockTrackingArgs, roomArgs);
}.
- シーンを開始すると、アプリはデバイスとエディターの両方で、ホストかクライアントを選択するUIに直行するはずです。