セッション検証ツールの使用
この文書では、セッション検証ツールを使用してエディター内で迅速にセッションワークフローを検証し、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秒後にスキップ(ファイルが対応している場合)▲: ファイルを開く- 進行状況バー: クリックで再生位置をジャンプ(ファイルが対応している場合)
再生しながらシーン内のコンテンツやインタラクションロジックを調整できるため、PC上で大部分の開発作業を行い、効果を視覚的に確認できます。
注記
新しいデータの再生や再生位置のジャンプ時、シーン内の既存データはクリアされません。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つの機能コンポーネントが含まれているため、ツールにはこれらの機能の制御チェックボックスが表示されています。
一般的に、この領域にはセッション内のすべての利用可能なAR機能コンポーネントが表示され、以下のコンポーネントの有効/無効(enabled)制御を提供します:
- AR Session: セッション自体の有効/無効
- Image Renderer: 物理カメライメージレンダリングの有効/無効
- Camera: 仮想カメラの有効/無効
- Frame Source: frame sourceの有効/無効(frame playerが有効でない場合のみ制御可能。有効な場合は機能制御がEIF再生制御部分に置き換えられます)
- Frame Filter: 特定AR機能の有効/無効
- Frame Recorder: EIF録画コンポーネントの有効/無効(frame playerが有効でない場合のみ表示され、有効な場合はこのコンポーネントはセッションにアセンブルされません)
同時に、領域内にはセッションで利用可能なセンターモードとセッションレポートも表示されます。
注記
ツールに表示される利用可能なセンターモードとセッションレポートは、エディターで実行した結果です。実際のデバイスで実行する場合とは異なります。
関連トピック
- EIFファイルを使用したシミュレーション実行を試す(スクリプトによるEIFファイル再生の制御)
- スクリプトでのセッション実行の制御を試す
- スクリプトでのAR機能コンポーネントへのアクセスを試す
- スクリプトでのセッション実行結果の取得を試す
- スクリプトでの初期化を試す
- スクリプトでのセッションレポートの取得とデバイスサポートの判断を試す