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:
- 連続的にローカライズする際のネットワークリクエスト間の時間を定義します。 この機能を使用するには、連続ローカライズを有効にする必要があります。 リクエストの間隔が長いと、ネットワーク帯域幅の消費は減るが、トラッキングの精緻化に時間がかかる可能性があります。 デフォルトでは、5秒に1回のリクエストに設定されています。
- CloudLocalizationTemporalFusionWindowSize:
- 時間フュージョンで考慮されるアンカー更新エントリーの数を定義します。 デフォルトでは5エントリーに設定されているため、25秒のエントリーを融合することになります(5エントリーに1ローカライズあたりデフォルトの5秒を掛けたもの)。 5秒から25秒分のローカライズを融合する値に設定することをお勧めします。 ウィンドウサイズが大きいほど、精製はよりゆっくりと行われるが、より安定します。 Continuous LocalizationとTemporal Fusionを有効にする必要があります。
- DiagnosticsEnabled:
- 診断機能を有効にすると、XRPersistentAnchorSubsystemの
debugInfoProvided
イベントで、追加のframeDiagnosticsArray
エントリが有効になります。 これらの診断は、ユーザーのカメラ映像のローカライズ可能性(暗すぎる、ぼやけている、など)についてのガイダンスを提供します。 この機能は、ボンネットの下でニューラルネットワークを実行するので、かなり高価です。
- 診断機能を有効にすると、XRPersistentAnchorSubsystemの