Raumbezogene Haltung der Gerätekamera erfassen

Nachdem Sie die Einstellungen Ihrer App für die Verwendung der Geospatial API konfiguriert haben, können Sie den AREarthManager.CameraGeospatialPose der Kamera des Geräts abrufen. Diese Pose, die in einem AREarthManager-Objekt verwaltet wird, enthält die folgenden Informationen:

  • Standort, ausgedrückt in Breiten- und Längengrad
  • Höhe
  • Eine Orientierung, die der Richtung entspricht, in der sich der Nutzer im EUS-Koordinatensystem befindet, wobei X+ nach Osten, Y+ nach oben und Z+ nach Süden zeigt

Tracking-Status prüfen

Georeferenzierte Werte sind nur gültig, solange AREarthManager.EarthTrackingState TrackingState.Tracking ist. Alle Geospatial API-Aufrufe müssen in einem AREarthManager.EarthTrackingState-Steuerblock eingeschlossen sein.

var earthTrackingState = EarthManager.EarthTrackingState;
if (earthTrackingState == TrackingState.Tracking)
{
  // camera_geospatial_pose contains geodetic location, rotation, and
  // confidences values.
  var cameraGeospatialPose = EarthManager.CameraGeospatialPose;
}

Wenn AREarthManager.EarthTrackingState nicht zu TrackingState.Tracking wird, kann AREarthManager.EarthTrackingState TrackingState.Limited oder TrackingState.None sein. Wenn keine dieser Bedingungen erfüllt ist, klicken Sie auf TrackingState.EarthTrackingState. Daraufhin werden andere Fehlerstatus angezeigt, die das Tracking des AREarthManager-Objekts verhindern können.

Pose für mehr Genauigkeit anpassen

Wenn sich das Gerät in der Standardausrichtung befindet, sind die Neigungs- (X+) und Rollwinkel (Z+) aufgrund der natürlichen Ausrichtung mit dem AR-Tracking in der Regel präzise. Die Abweichungswinkel (Y+) können jedoch je nach Verfügbarkeit von VPS-Daten und zeitlichen Bedingungen am Standort variieren. Möglicherweise müssen Sie Anpassungen an Ihrer App vornehmen, um die Genauigkeit zu verbessern.

GeospatialPose.OrientationYawAccuracy gibt eine Schätzung der Genauigkeit für die Gierwinkel (Y+) für eine bestimmte AREarthManager.CameraGeospatialPose an. Die Genauigkeit des Gierwinkels ist eine Zahl, die den Radius in Grad des Konfidenzniveaus des 68. Perzentils um die Gierwinkel in GeospatialPose.EunRotation beschreibt. Mit anderen Worten: Es besteht eine Wahrscheinlichkeit von 68 %, dass der tatsächliche Gierwinkel von AREarthManager.CameraGeospatialPose innerhalb der Anzahl von Grad liegt, die von GeospatialPose.OrientationYawAccuracy zurückgegeben wird.

Je höher der Wert, desto ungenauer ist die Vorhersage. Wenn der geschätzte Gierwinkel beispielsweise 60 Grad beträgt und die Giergenauigkeit 10 Grad, liegt der wahre Gierwinkel mit einer Wahrscheinlichkeit von 68% zwischen 50 und 70 Grad.

Nächste Schritte