Relocスコア
この機能は、マップベースの再定義にのみ対応しています。
マップベースのリローカライズの場合、 RelocalizationScore を参照することで、リローカライズの成功にどれだけ近づいたかを知ることができます。Relocalization Score は 0f から 1f までの範囲の浮動小数点数で、 0f に近いほどリローカライズができていないことを、 1f に近いほどリローカライズ成功に近いことを示しています、
このスコアはデバイスの位置によって変化するため、スコアが低いままであればユーザーは現在の位置から移動することを推奨します。
また、スコアが更新されるたびに OnRelocalizationScoreUpdated イベントを参照することもできます。
// ARSharedAnchorManager.cs
// Get the current relocalization score
public float RelocalizationScore { get; }
// Attach a callback to this event to listen for whenever the relocalization score changes
public delegate void RelocalizationScoreUpdated(float score);
public event RelocalizationScoreUpdated OnRelocalizationScoreUpdated;
活用例
[SerializeField]
private ARSharedAnchorManager _sharedAnchorManager;
private void Update()
{
    // Use the RelocalizationScore to update a visual indicator e.g.,
    // _visualIndicator.Value = _sharedAnchorManager.RelocalizationScore;
}
イベントと相互に使うこともできます。
[SerializeField]
private ARSharedAnchorManager _sharedAnchorManager;
private void OnEnable()
{
    // Subscribe to event
    _sharedAnchorManager.OnRelocalizationScoreUpdated += UpdateVisualIndicator;
}
private void OnDisable()
{
    // Unsubscribe to event
    _sharedAnchorManager.OnRelocalizationScoreUpdated -= UpdateVisualIndicator;
}
private void UpdateVisualIndicator(float score)
{
    // Update the visual indicator with the relocalization score value e.g.,
    // _visualIndicator.Value = score;
}