Table of Contents

セッション検証ツールの使用

この文書では、セッション検証ツールを使用してエディター内で迅速にセッションワークフローを検証し、EIFファイルを使用したシミュレーション実行を行う方法について説明します。

開始前の準備

シミュレーション実行では入力としてEIFファイルを使用するため、開始前にEIFファイルを録画する必要があります:

また以下の点について理解しておく必要があります:

セッション検証ツール

セッション検証ツールは、開発者がUnityエディター内で迅速にセッションワークフローを検証し、EIFファイルを使用したシミュレーション実行を可能にするために設計されています。

デフォルトでは、AR Session (EasyAR)オブジェクトのInspectorウィンドウにセッション検証ツールが表示されます。これはDiagnosticsControllerエディターの一部です:

alt text

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

alt text

ツールの実行時効果は以下の動画で確認できます:

この動画はセッション検証ツールの使用例を示しており、Unityのplayモードで録画されています。動画の上半分左側はHierarchyビュー、中央はSceneビュー、右側はGameビューです。下半分はセッション検証ツールです。Gameビューの内容は、現実世界でスマートフォンを使用するユーザーが目にする内容と同じです。

ツールの左上部にはEIF再生の進行状況バーが表示され、再生の進捗に伴って変化します。左下部には現在のセッション状態が表示されます。右側にはセッションのコンポーネントと利用可能なセンターモードが表示されます。

シーン内では、同時に動作している3つのAR機能を確認できます:

  • モーショントラッキング: frame playerによって提供され、青色の球体はXR Origin、青色の円錐はユーザーの位置を表します
  • 高密度空間マッピング: 視点の移動に伴い、半透明のメッシュモデルが継続的に生成される様子
  • 疎空間トラッキング: 動画ではクリスマスツリーがトラッキングされ、オーバーレイされた仮想オブジェクトは水色の点群です

ツールの起動

ツール上部のボタンをクリックするとツールが起動します。このボタンを押す効果は、直接Unityツールバーボタンを押す場合と同じです。

alt text

ツールが起動している場合、ボタンはに変わり、クリックするとツールが停止します。

ツールが独立したウィンドウとして表示されている場合、ボタンの右にある選択ボックスから、ツールが使用するセッションオブジェクトを選択できます。ウィンドウがリセットされてセッションが見つからない場合は、ここから再選択できます。

EIF再生の制御

ツールのEIF再生機能を使用するには、実行前にツールのFrame Playerオプションをチェックする必要があります。これにより、ツールはセッションアセンブリプロセス中のframe sourceの選択を管理します。AssembleOptions.FrameSourceがどのような値に設定されていても、frame playerコンポーネントが有効になります。

alt text

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

alt text

注記

ツールはUnityエディター上でのみアセンブリプロセス中のframe source選択を管理します。アプリケーションをビルドして実行する場合、このオプションは影響しません。

正常に実行されると、EIF再生制御機能がツールの上部(図中で囲まれた部分)に表示されます:

alt text

これらのボタンを使用してEIFファイルの再生を制御できます:

  • : 再生(一時停止または停止状態から再生を再開)
  • ▮▮: 一時停止
  • : 停止
  • ▮◀: 5秒前にスキップ(ファイルが対応している場合)
  • ◀◀: 再生速度を下げる(ファイルが対応している場合)
  • ▶▶: 再生速度を上げる(ファイルが対応している場合)
  • ▶▮: 5秒後にスキップ(ファイルが対応している場合)
  • : ファイルを開く
  • 進行状況バー: クリックで再生位置をジャンプ(ファイルが対応している場合)

再生しながらシーン内のコンテンツやインタラクションロジックを調整できるため、PC上で大部分の開発作業を行い、効果を視覚的に確認できます。

注記

新しいデータの再生や再生位置のジャンプ時、シーン内の既存データはクリアされません。ARコンポーネントの状態もリセットされず、カメラデータが直前のフレームから新しいデータに突然ジャンプしたかのように動作します。

一部の機能には大きな影響はありませんが、モーショントラッキングに依存する機能(高密度空間マップ、Megaなど)では、機能状態が異常になり実行効果に影響する可能性があります。

セッションワークフローの制御

ツールのセッションワークフロー制御機能を使用するには、実行前にツールのSession Workflowオプションをチェックする必要があります。このオプションはデフォルトでチェックされています。

alt text

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

alt text

領域の上部には、EasyARController.IsReadyARSession.Stateの2つの状態情報が表示されます。

領域の下部には、セッションワークフローを制御するためのボタンが用意されています:

  • Initialize: セッションを初期化(Project Settingsで設定されたlicense keyを使用するか、手動でlicense keyを入力可能)
  • Assemble: セッションをアセンブル(起動しない)
  • StartSession (Assembled): アセンブル済みセッションを起動
  • StartSession: セッションをアセンブルして起動
  • StopSession: セッションを停止
  • StopSession (keep image): セッションを停止(画像背景は保持)
  • Deinitialize: セッションを初期化解除
注記

これらの制御機能は直接ARSessionおよびEasyARControllerの関連メソッドを呼び出すため、これらのボタンを使用してセッション状態の変化がコンテンツに与える影響を検証できます。ただし、アプリケーションスクリプトでも同様のメソッドを呼び出している場合、アプリケーションの実行フローが予想外の動作をする可能性がある点に注意が必要です。

セッションコンポーネントの制御

ツールのセッションコンポーネント制御機能を使用するには、実行前にツールのSession Workflowオプションをチェックする必要があります。このオプションはデフォルトでチェックされています。

alt text

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

alt text

この領域に表示される内容は特定のセッションによって異なります。例えば上図で使用されているセッションにはイメージトラッキング、高密度空間マッピング、疎空間トラッキングの3つの機能コンポーネントが含まれているため、ツールにはこれらの機能の制御チェックボックスが表示されています。

一般的に、この領域にはセッション内のすべての利用可能なAR機能コンポーネントが表示され、以下のコンポーネントの有効/無効(enabled)制御を提供します:

  • AR Session: セッション自体の有効/無効
  • Image Renderer: 物理カメライメージレンダリングの有効/無効
  • Camera: 仮想カメラの有効/無効
  • Frame Source: frame sourceの有効/無効(frame playerが有効でない場合のみ制御可能。有効な場合は機能制御がEIF再生制御部分に置き換えられます)
  • Frame Filter: 特定AR機能の有効/無効
  • Frame Recorder: EIF録画コンポーネントの有効/無効(frame playerが有効でない場合のみ表示され、有効な場合はこのコンポーネントはセッションにアセンブルされません)

同時に、領域内にはセッションで利用可能なセンターモードとセッションレポートも表示されます。

注記

ツールに表示される利用可能なセンターモードとセッションレポートは、エディターで実行した結果です。実際のデバイスで実行する場合とは異なります。

関連トピック