Location Drift Mitigation
ARLocationManager
クラスは、実験的なドリフト緩和機能を提供します。
これらの機能にアクセスするには;
- Player Settings メニューを開きます。
- File トップメニューで、 Build Settingsを選択します。
- Build Settings ウィンドウの左下にある Player Settings と書かれたボタンをクリックします。
- 実験的機能フラグを追加します。
- Player Settings メニューの Script Compilation までスクロールダウンしてください。
- Scripting Define Symbolsの下で、 + button をクリックして別の行を追加し、
NIANTIC_ARDK_EXPERIMENTAL_FEATURES
を追加して有効にします。
機能の概要
実験的なドリフト緩和機能の内容は次のとおりです。
- Temporal Fusion (テンポラルフュージョン)
- デフォルトでは、より安定したローカライズを提供するために、過去5回の良好なローカライズ結果を平均化します。 Temporal Fusionが機能するためには、Continuous Localizationが有効である必要があります。
- TransformUpdateSmoothingEnabled:
- アンカーの更新をスムーズにし、変換の精度を向上させます。 更新をスムーズにするには、Continuous Localizationを有効にする必要があります。
- InitialServiceRequestIntervalSeconds:
- 最初にトラッキングを試みる際の、ネットワークリクエスト間の時間を定義します。 リクエスト間隔を長くすると、ネットワーク帯域幅の消費は減りますが、トラッキングを取得するまでにかかる時間が長くなる場合があります。 デフォルトでは、1秒間に1リクエストに設定されています。
- ContinuousServiceRequestIntervalSeconds:
- 連続的にローカライズする際のネットワークリクエストの間隔を定義します。 この機能を使用するには、Continuous Localizationを有効にする必要があります。 リクエストの間隔が長いと、ネットワーク帯域幅の消費は減るが、トラッキングの精緻化に時間がかかる可能性があります。 デフォルトでは、5秒に1回のリクエストに設定されています。
- CloudLocalizationTemporalFusionWindowSize:
- 時間フュージョンで考慮されるアンカー更新エントリーの数を定義します。 デフォルトでは5エントリーに設定されているため、25秒のエントリーを融合することになります(5エントリーに1ローカライズあたりデフォルトの5秒を掛けたもの)。 5~25秒分のローカライゼーションを統合する値に設定することが推奨されます。 ウィンドウサイズが大きいほど、精製はよりゆっくりと行われるが、より安定します。 Continuous LocalizationとTemporal Fusionを有効にする必要があります。
- DiagnosticsEnabled:
- 診断機能を有効にすると、XRPersistentAnchorSubsystemの
debugInfoProvided
イベントで、追加のframeDiagnosticsArray
エントリが有効になります。 これらの診断は、ユーザーのカメラ映像のローカライズ可能性(暗すぎる、ぼやけている、など)についてのガイダンスを提供します。 この機能は、ボンネットの下でニューラルネットワークを実行するので、かなり高価です。
- 診断機能を有効にすると、XRPersistentAnchorSubsystemの