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 Gerätekamera abrufen. Diese Haltung wird in einem AREarthManager-Objekt verwaltet und enthält die folgenden Informationen:

  • Standort in Breiten- und Längengrad
  • Höhe
  • Eine Ausrichtung, die annähernd die Richtung des Nutzers im EUS-Koordinatensystem darstellt, mit X+ nach Osten, Y+ nach oben und Z+ nach Süden

Tracking-Status prüfen

Raumbezogene Werte sind nur gültig, wenn AREarthManager.EarthTrackingState den Wert TrackingState.Tracking hat. Alle Geospatial API-Aufrufe müssen in einem AREarthManager.EarthTrackingState-Steuerelementblock zusammengefasst sein.

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

Wenn aus AREarthManager.EarthTrackingState nicht TrackingState.Tracking wird, kann AREarthManager.EarthTrackingState TrackingState.Limited oder TrackingState.None sein. Wenn keine dieser Bedingungen erfüllt ist, prüfen Sie TrackingState.EarthTrackingState. Dadurch werden andere Fehlerstatus angezeigt, die das Tracking des AREarthManager-Objekts möglicherweise verhindern.

Für mehr Genauigkeit die Haltung anpassen

Wenn das Gerät in der Standardausrichtung aufrecht steht, sind die Neigungswinkel (X+) und Rollwinkel (Z+) aufgrund der natürlichen Ausrichtung mit dem AR-Tracking tendenziell präzise. Der Gierwinkel (Y+) kann jedoch je nach Verfügbarkeit der VPS-Daten und den zeitlichen Bedingungen am Standort variieren. Damit die App richtig funktioniert, müssen möglicherweise Anpassungen vorgenommen werden.

GeospatialPose.OrientationYawAccuracy liefert eine Genauigkeitsschätzung für die Gierwinkel (Y+) für einen bestimmten AREarthManager.CameraGeospatialPose. Die Giergenauigkeit der Ausrichtung ist eine Zahl, die den Radius des Konfidenzniveaus des 68. Perzentils um die Gierwinkel in GeospatialPose.EunRotation in Grad angibt. Es besteht also eine Wahrscheinlichkeit von 68 %, dass der tatsächliche Gierwinkel von AREarthManager.CameraGeospatialPose innerhalb der Anzahl der von GeospatialPose.OrientationYawAccuracy zurückgegebenen Grade genau ist.

Größere Werte weisen auf eine geringere Genauigkeit hin. Wenn der geschätzte Gierwinkel beispielsweise 60 Grad und die Giergenauigkeit 10 Grad beträgt, besteht eine Wahrscheinlichkeit von 68 %, dass der tatsächliche Gierwinkel zwischen 50 und 70 Grad liegt.

Nächste Schritte