Table of Contents

UI メッセージ

EasyAR Sense Unity Plugin の実行時には 3 種類のメッセージがあります。

  • 実行時例外。Sense Error、Session Error、Error、Warning を含みます
  • Session Dump
  • EasyAR Mega 開発用の特殊な例外

必要に応じて、前 2 種類のメッセージの出力方法を調整できます。session 上の DiagnosticsController コンポーネントを使ってエディターで設定するか、DiagnosticsController.MessageOutput インターフェイスを使ってスクリプトで設定できます。

diagnostics ui messages

ヒント

4000 バージョンでは、古いバージョンのプラグインで作成されたシーンの場合、シーンを開いたときに DiagnosticsController が session に自動追加されます。一部の Unity バージョンでは自動追加されない場合があります。その場合、DiagnosticsController は実行時にデフォルト値で自動作成されます。

実行時例外

プラグインの実行時には、内部コンポーネントが検出した問題がメッセージとしてシステムに現れることがあります。これらのメッセージには、使用を継続できない重大な障害、意図的に発生させたもの、デバイスが非対応であることによるものなどがあります。重大度の高い順に、次のカテゴリに分けられます。

  • SenseError: EasyAR Sense エラー。通常は EasyAR Sense license に関係します。
  • SessionError: ARSession エラー。通常はデバイスが一部機能をサポートしていない、または設定が間違っていることに関係します。
  • Error: その他のエラー情報
  • Warning: 警告情報

Unity 開発の特性上、開発を支援するため、これらのメッセージはデフォルトで UI に表示されます。

これらのメッセージの表示方法は、エディターまたはスクリプトで制御できます。選択可能な出力モードは次のとおりです。

  • UIAndLog: UI とログへ出力します。ヘッドセットでは目の前 5 メートルの位置に表示されます。
  • Log: システムログへ出力します。
ヒント
  • 開発およびテスト段階では、デフォルト設定 UIAndLog の使用を推奨します。
  • リリース時にはオプションを Log に変更することを推奨します。UIAndLog を残すこともできますが、これらの UI メッセージは通常、エンドユーザーにとって親切ではありません。
  • 実行前に session の利用可否とデバイスサポートを判断 し、非対応デバイスには適切な案内を行うことを推奨します。

Sense Error

Sense Error は特殊なエラーです。このエラーが発生すると、EasyAR 機能は継続して使用できません。一般的な原因:

  • License が正しく設定されていない、または検証に失敗しています。このエラーは正しい license で再初期化することで復旧できます。
  • AR Foundation、AR Engine、カスタムカメラを使用するすべてのデバイス、または各種ヘッドセットなど一部のデバイスで、Personal Edition license、試用版 XR license、試用版 Mega サービスなどの試用製品を固定された制限時間を超えて使用した場合。このエラーは復旧できません。

Session Error

Session Error は、現在の ARSession が継続して動作できないエラーです。設定を変更して ARSession を再実行すると解決できる場合があります。これらのエラーは一般に、設定ミス、起動フロー中に例外が発生して組み立てが中断されたこと、現在の ARSession 設定をデバイスがサポートしていないこと、または実行中に ARSession コンポーネントが失われたことなどによって発生します。

一般的なケース:

  • Session 組み立てエラー: たとえばデバイスがサポートされていない、または対応デバイスの Frame Source が ARSession に正しく設定されていない場合。
  • Session 起動エラー: cloud service の設定情報が間違っているため cloud service 機能の作成に失敗する、または Mega サービス、cloud recognition サービス、SpatialMap サービスなどの設定情報が未入力の場合。
  • Session 実行中エラー: ARSession コンポーネントが外部から破棄された、URP 環境で RendererFeature が正しく設定されていない場合など。

通常、設定ミスや起動フロー中の例外によって組み立てが中断されることは、開発中に避けるべきです。デバイス非対応の状況は主に motion tracking 機能が必要な機能で発生します。Motion tracking と EasyAR 機能 を参照して、どの機能でデバイスサポートに注意が必要かを理解し、開発段階で適切なデバイスを選んでデバッグしてください。

Session Dump

SessionDump メッセージは、プラグイン実行時に収集された ARSession の実行状態を表示します。各コンポーネントの重要な状態も含まれます。これらの状態情報は、EasyAR の動作を理解し、問題を分析するうえで大いに役立ちます。

これらの状態の表示方法は、エディターまたはスクリプトで制御できます。選択可能な出力モードは次のとおりです。

  • UI: UI に表示し、毎フレーム更新します。ヘッドセットでは目の前 5 メートルの位置に表示されます。
  • Log: システムログへ出力します。毎フレーム出力されるため実行性能に影響します。開発またはテスト時の使用を推奨します。
  • None: 出力しません。
ヒント
  • 開発およびテスト段階では、デフォルト設定 UI の使用を推奨します。上に表示される情報は、EasyAR スタッフとのコミュニケーションに不可欠です。
  • 正式公開後は None に変更し、UI を有効にするソフトウェアスイッチを残すか、他のシステムでデータを収集することを推奨します。EasyAR に問題をフィードバックする際、EasyAR はアプリの実行状態を判断するために、あなたまたはユーザーからこれらの情報を求めます。
  • ほとんどの場合、アプリ公開後に問題が発生した場合でも、まずアプリ側で問題調査と分析を行う必要があります。アプリ側の問題を排除し、十分な情報を得たうえでフィードバックされた問題のほうが解決しやすくなります。ログ収集と分析のためのサードパーティ SDK やプラットフォームは多数あり、公開前の使用を推奨します。これらのプラットフォームを使う経験やリソースがない場合、UI を有効にするスイッチ、たとえば隠しスイッチを残して、ユーザーが見た情報を報告できるようにするのが比較的簡単です。

EasyAR Mega 開発用の特殊な例外

Mega 開発では、制御できない警告メッセージもあります。この種のメッセージは特定の設定条件を満たすと UI に表示され、開発者が直接閉じることはできません。

メッセージそのものに注目することを推奨します。文面には発生原因と設定方法が明記されています。開発者は、異なる使用方法に対する異なる設定の要件を理解し、開発の進捗に応じて適切に選択する必要があります。

これらのメッセージは意図的に表示されます。特定の使用条件では、これらの機能はコンテンツフロー開発を支援しますが、同時に妥当な実行結果は得られません。メッセージを出したまま公開しないよう注意してください。

関連トピック