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 バージョンでは自動追加されない可能性があり、これらの unity バージョンでは DiagnosticsController はランタイム時にデフォルト値で自動的に作成されます。

実行例外

プラグイン実行中に内部コンポーネントが検出したいくつかの問題がメッセージとしてシステムに表示されることがあります。これらのメッセージには、継続使用が不可能な重大な障害、意図的にトリガーされたもの、デバイスがサポートされていないものなどがあり、深刻度が高い順に以下のように分類されます:

  • SenseError: easyar sense エラー。通常、easyar sense ライセンスに関連します。
  • SessionError: arsession エラー。通常、デバイスが一部機能をサポートしていない、または誤った設定に関連します。
  • Error: その他のエラー情報
  • Warning: 警告情報

unity 開発の特殊性により、デフォルトではこれらのメッセージを ui 上に表示し、開発を支援します。

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

  • UIAndLog: ui とログに出力します。ヘッドマウントディスプレイ上では眼前5メートルに表示されます。
  • Log: システムログに出力します。
ヒント
  • 開発・テスト段階ではデフォルト設定 UIAndLog の使用を推奨します。
  • リリース時にはオプションを Log に変更することを推奨します。 UIAndLog を維持することも可能ですが、これらの ui メッセージは通常エンドユーザーにとって分かりやすいものではありません。
  • 実行前に session 可用性とデバイスサポートの判断 を行い、サポートされていないデバイスに対して適切に通知することを推奨します。

Sense error

sense error は特殊なエラークラスです。エラーが発生すると easyar 機能の継続使用が不可能になります。一般的な原因:

  • ライセンスが正しく設定されていない、または検証に失敗した。正しいライセンスを使用して再初期化することで回復可能です。
  • 一部デバイス(ar foundation、ar engine などカスタムカメラを使用するすべてのデバイスや各種ヘッドマウントディスプレイ)で試用製品(個人版ライセンス、試用版 xr ライセンス、試用版 mega サービスなど)を固定の制限時間を超えて使用した。このエラーは回復できません。

Session error

session error は現在の arsession が動作を継続できないエラーです。設定を変更して arsession を再実行することで解決できる可能性があります。これらのエラーは通常、設定ミス、起動フローで例外がスローされてアセンブリが中断された、デバイスが現在の arsession 設定をサポートしていない、または実行中に arsession コンポーネントが失われたなどが原因です。

一般的なケース:

  • session アセンブリエラー: 例) デバイスがサポートされていない、またはサポートデバイスの frame source が arsession 内で正しく設定されていない。
  • session 起動エラー: クラウドサービス設定情報の誤りによるクラウドサービス機能作成エラー、または設定情報未入力(mega サービス、クラウド認識サービス、spatialmap サービスを含む)。
  • session 実行中エラー: arsession コンポーネントが外部から破棄された、urp 環境で rendererfeature が正しく設定されていないなど。

通常、設定エラーおよび起動フロー中の例外によるアセンブリ中断は開発プロセスで回避すべきです。デバイス非サポートの問題は主に運動追跡能力を必要とする機能で発生します。どの機能でデバイスサポートに注意が必要かは 運動追跡と easyar 機能 を参照し、開発段階で適切なデバイスを選択してデバッグする必要があります。

Session dump

SessionDump メッセージはプラグイン実行時に収集された arsession の実行状態を表示します。各コンポーネントのキーとなる状態を含みます。これらの状態情報は easyar の動作理解や問題分析に役立ちます。

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

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

Easyar mega 開発特殊例外

mega 開発では、制御できない警告メッセージがもう1種類あります。この種のメッセージは特定の設定条件を満たすと ui に表示され、開発者は直接オフにできません。

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

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

関連トピック