セッション検証ツールの使用
本文では、セッション検証ツールを使用して、エディターでセッションワークフローを迅速に検証し、EIF ファイルを使用してシミュレーション実行する方法について説明します。
開始前
シミュレーション実行では EIF ファイルを入力として使用するため、開始する前に EIF ファイルを録画する必要があります。
- EIF ファイルの録画 を参照して、EIF ファイルを録画します。
また、以下のことを理解する必要があります。
- EIF ファイルを録画してシミュレーション実行に使用する の基本概念を理解します。
- AR セッション の基本概念、構成、およびワークフローを理解します。
セッション検証ツール
セッション検証ツールは、開発者が Unity エディターでセッションワークフローを迅速に検証し、EIF ファイルを使用してシミュレーション実行するのを支援するために使用されます。
デフォルトでは、AR Session (EasyAR) オブジェクトの Inspector ウィンドウにセッション検証ツールが表示されます。これは DiagnosticsController エディターの一部です。

ツールの右上の ↗ ボタンをクリックすると、ツールを独立したウィンドウとしてポップアップでき、表示と操作が便利になります。ウィンドウを閉じるか、↘ ボタンを押すと、ツールは再び Inspector ウィンドウに表示されます。

ツールの実行時の様子は、以下のビデオの通りです。
このビデオは、セッション検証ツールの使用效果を示しており、Unity の play モードで録画されています。ビデオの上半分の左は
Hierarchyビュー、中央はSceneビュー、右はGameビューです。ビデオの下半分はセッション検証ツールです。Gameビューの内容は、ユーザーが現実世界で携帯電話で見る内容と同じです。ツールの左上部分には EIF 再生の進捗バーが表示されており、再生の進捗に合わせて変化していることがわかります。ツールの左下部分には、現在のセッションの状態が表示されています。ツールの右側には、セッションのコンポーネントと利用可能な中心モードが表示されています。
シーンでは、同時に動作する 3 つの AR 機能を見ることができます。
- モーショントラッキング:これは frame player によって提供されており、青い球体は XR Origin で、青い錐体はユーザーの位置を表しています。
- 稠密空間マッピング:視点の移動に伴って、半透明のグリッドモデルが生成されているのが見られます。
- 疎空間トラッキング:ビデオでは、追跡対象はクリスマスツリーで、重ねられた仮想オブジェクトは薄青色の点群です。
ツールの起動
ツールの上部にある ▶ ボタンをクリックすると、ツールを起動できます。このボタンを押す效果は、Unity ツールバー の ▶ ボタンを直接押すのと同じです。

ツールが既に起動している場合、ボタンは ■ に変わり、クリックするとツールを停止できます。
ツールが独立したウィンドウで表示されている場合、▶ ボタンの右側の選択ボックスで、ツールが使用するセッションオブジェクトを選択できます。ウィンドウがリセットされてセッションが失われた場合、ここから再選択できます。
EIF 再生の制御
ツールの EIF 再生機能を使用するには、実行前にツールの Frame Player オプションをチェックする必要があります。この場合、ツールはセッションの組み立て過程で frame source の選択を管理します。AssembleOptions.FrameSource がどのような値に設定されていても、frame player コンポーネントが有効になります。

したがって、実行時にはポップアップが表示され、現在のセッションが使用する frame source がツールによって管理されていることが示されます。

注記
ツールは Unity エディター上でのみ、組み立て過程での frame source の選択を管理します。アプリケーションをパッケージ化して実行する場合、このオプションは何の影響もありません。
正常に実行されると、EIF 再生制御機能はツールの上部の図で囲まれた部分に表示されます。

これらのボタンを使用して、EIF ファイルの再生を制御できます。
▶:再生、一時停止または停止状態から再生を再開します。▮▮:一時停止■:停止▮◀:5 秒前にジャンプ(ファイルがサポートしている場合)◀◀:再生速度を低下させる(ファイルがサポートしている場合)▶▶:再生速度を上げる(ファイルがサポートしている場合)▶▮:5 秒後にジャンプ(ファイルがサポートしている場合)▲:ファイルを開く- 進捗バー:クリックすると再生位置にジャンプできます(ファイルがサポートしている場合)
再生中にシーン内の内容とインタラクションロジックを調整できるため、ほとんどの開発作業をコンピューター上で行い、直感的に效果を確認できます。
注記
新しいデータを再生したり、再生位置をジャンプしたりするとき、シーン内の元のデータはクリアされません。AR コンポーネントの状態もリセットされません。カメラデータが前のフレームのデータから突然新しいデータにジャンプしたように振る舞います。
これは一部の機能には大きな影響を与えませんが、モーショントラッキングに依存する機能(稠密空間マップ、Mega など)にとっては、機能の状態が異常になり、実行效果に影響を与える可能性があります。
セッションワークフローの制御
ツールのセッションワークフロー制御機能を使用するには、実行前にツールの Session Workflow オプションをチェックする必要があります。このオプションはデフォルトでチェックされています。

正常に実行されると、セッションワークフロー制御機能はツールの再生制御の下の図で囲まれた部分に表示されます。

全体の領域の上部には、EasyARController.IsReady と ARSession.State の 2 つの状態情報が表示されます。
全体の領域の下部には、セッションのワークフローを制御するためのこれらのボタンが提供されています。
Initialize:セッションを初期化します。Project Settingsで構成された license key を使用するか、手動で license key を入力することができます。Assemble:セッションを組み立てますが、起動しません。StartSession (Assembled):組み立てられたセッションを起動します。StartSession: セッションを組み立てて起動します。StopSession:セッションを停止します。StopSession (keep image):セッションを停止しますが、画像背景を保持します。Deinitialize:セッションを逆初期化します。
注記
これらの制御機能は、ARSession と EasyARController の関連するメソッドを直接呼び出すため、これらのボタンを使用してセッションの状態変化が内容に与える影響を検証できます。ただし、アプリケーションのスクリプトでも同様のメソッドが呼び出されている場合、アプリケーションの実行フローがアプリケーション自体の予期を超える可能性があることに注意する必要があります。
セッションコンポーネントの制御
ツールのセッションコンポーネント制御機能を使用するには、実行前にツールの Session Workflow オプションをチェックする必要があります。このオプションはデフォルトでチェックされています。

正常に実行されると、セッションコンポーネント制御はツールの下部または右側の図で囲まれた部分に表示されます。具体的な位置はウィンドウの幅によって異なります。

この領域に表示される内容は、具体的なセッションによって異なります。たとえば、上の図で使用されているセッションには、画像トラッキング、稠密空間マッピング、および疎空間トラッキングの 3 つの機能コンポーネントが含まれているため、ツールにはこれら 3 つの機能の制御チェックボックスが表示されています。
一般的に、この領域にはセッション内のすべての利用可能な AR 機能コンポーネントが表示され、これらのコンポーネントの有効化/無効化(enabled)を制御できます。以下を含みます。
- AR Session:セッション自体の有効化/無効化を制御します。
- Image Renderer:物理カメラの画像レンダリングの有効化/無効化を制御します。
- Camera:仮想カメラの有効化/無効化を制御します。
- Frame Source:frame source の有効化/無効化を制御します。frame player が有効になっていない場合のみ制御できます。frame player が有効になっている場合、機能制御は EIF 再生制御部分に置き換えられ