Geospatial API für die Unity-App (AR Foundation) für iOS aktivieren

Konfigurieren Sie die Einstellungen Ihrer App so, dass sie die Geospatial API verwenden kann.

Voraussetzungen

Machen Sie sich mit den grundlegenden AR-Konzepten und mit der Konfiguration einer ARCore-Sitzung vertraut, bevor Sie fortfahren.

Weitere Informationen zur Geospatial API finden Sie unter Einführung in die Geospatial API.

Wenn Sie noch keine Erfahrung mit der Entwicklung mit ARCore haben, finden Sie unter Erste Schritte Informationen zu Software- und Hardwareanforderungen, Voraussetzungen und anderen Informationen, die speziell auf die von Ihnen verwendeten Plattformen bezogen sind.

Wenn Sie die ARCore Geospatial API verwenden möchten, muss Ihr Projekt AR Foundation und die ARCore-Erweiterungen für AR Foundation unterstützen.

ARCore API aktivieren

Bevor Sie das Visual Positioning System (VPS) in Ihrer App verwenden können, müssen Sie zuerst die ARCore API in einem neuen oder vorhandenen Google Cloud-Projekt aktivieren. Dieser Dienst ist für das Hosten, Speichern und Auflösen geografischer Anker verantwortlich.

Die schlüssellose Autorisierung wird bevorzugt, aber auch die Autorisierung per API-Schlüssel wird unterstützt.

Erforderliche Bibliotheken zur App hinzufügen

Nachdem du deine App zum Aufrufen der ARCore API autorisiert hast, musst du Bibliotheken hinzufügen, um raumbezogene Funktionen in deiner App zu aktivieren.

  1. Gehen Sie zu Bearbeiten > Projekteinstellungen > XR-Plug-in-Verwaltung > ARCore-Erweiterungen. Achten Sie darauf, dass iOS-Support aktiviert ausgewählt ist.
  2. Wählen Sie unter Optionale Funktionen die Option Geospatial aus.

Raumbezogene Funktionen in der Sitzungskonfiguration aktivieren

Nachdem Sie die geografische Funktion in Ihrer App aktiviert haben, aktivieren Sie die geografische Funktion in der AR-Sitzungskonfiguration Ihrer App, damit sie mit der ARCore API kommunizieren kann:

  1. Der Ordner Assets des Projekts muss ein scriptbares Objekt vom Typ ARCoreExtensionsConfig enthalten. Klicken Sie dazu mit der rechten Maustaste im Bereich Assets auf Create > XR > ARCore Extensions Config.
  2. Wählen Sie im Ordner Assets das skriptfähige Objekt ARCoreExtensionsConfig aus und legen Sie den Geospatial Mode auf Enabled fest.

  3. Konfigurieren Sie das ARCore Extensions-Game-Objekt so, dass die ARCoreExtensionsConfig-Konfiguration verwendet wird. Suchen Sie im Bereich Hierarchie nach dem Spielobjekt ARCore Extensions, das Sie beim ersten Einrichten von ARCore Extensions erstellt haben, und verbinden Sie das Feld ARCore Extensions-Konfiguration mit dem scriptbaren Objekt ARCoreExtensionsConfig im Ordner Assets.

Nutzer auffordern, die Nutzung von Gerätedaten zuzulassen

In Apps, die die ARCore Geospatial API verwenden, muss der Nutzer aufgefordert werden, die Verwendung von Daten von seinem Gerät zu bestätigen und zuzulassen. Weitere Informationen finden Sie unter Anforderungen an den Datenschutz für Nutzer.

Gerätekompatibilität prüfen

Nicht alle Geräte, die ARCore unterstützen, unterstützen auch die Geospatial API. Rufe AREarthManager.IsGeospatialModeSupported() auf, um die Kompatibilität des Geräts des Nutzers zu prüfen. Versuchen Sie in diesem Fall nicht, die Sitzung zu konfigurieren, wenn FeatureSupported.Unsupported zurückgegeben wird.

Nutzer zur Laufzeit um Berechtigungen zur Standortermittlung bitten

So aktivieren Sie die Standortdienste von Unity in einem Script, das die Berechtigungsanfragen zur Laufzeit auslöst:

  1. Geben Sie unter Project Settings > iOS > Other Settings > Location Usage Description den Namen der App ein, die Berechtigungen anfordert.

  2. Aktivieren Sie die Standortdienste von Unity, um die Runtime-Berechtigungsanfrage auszulösen:

    public void OnEnable()
    {
        Input.location.Start();
    }
    
    public void OnDisable()
    {
        Input.location.Stop();
    }
    

    Weitere Informationen finden Sie in der LocationService-Dokumentation von Unity.

Geospatiale Verfügbarkeit am aktuellen Standort des Geräts prüfen

Da die Geospatial API eine Kombination aus VPS und GPS zur Bestimmung einer geospatialen Pose verwendet, kann die API verwendet werden, solange das Gerät seinen Standort bestimmen kann. In Gebieten mit geringer GPS-Genauigkeit, z. B. in Innenräumen und in dicht bebauten städtischen Gebieten, nutzt die API die VPS-Abdeckung, um möglichst genaue Posen zu generieren. Unter normalen Bedingungen kann mit VPS eine Positionsgenauigkeit von etwa 5 Metern und eine Drehungsgenauigkeit von 5 Grad erwartet werden. Mit AREarthManager.CheckVpsAvailability() können Sie prüfen, ob ein bestimmter Ort VPS-Abdeckung hat.

Die Geospatial API kann auch in Gebieten eingesetzt werden, die keine VPS-Abdeckung haben. In Außenumgebungen mit wenigen oder gar keinen Hindernissen über Kopf reicht das GPS möglicherweise aus, um eine Pose mit hoher Genauigkeit zu generieren.

Nächste Schritte