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.

Vorbereitung

Machen Sie sich mit den grundlegenden AR-Konzepten und 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 visuelle Positionssystem (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 Sie Ihre App zum Aufrufen der ARCore API autorisiert haben, müssen Sie Bibliotheken hinzufügen, um geografische Funktionen in Ihrer App zu aktivieren.

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

Geospatial-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 mit der rechten Maustaste im Bereich Assets und wählen Sie Erstellen > XR > ARCore-Erweiterungskonfiguration aus.
  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-Spielobjekt 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

Apps, die die ARCore Geospatial API verwenden, müssen den Nutzern eine Aufforderung anzeigen, die Verwendung von Daten von ihrem 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. Wenn FeatureSupported.Unsupported zurückgegeben wird, versuchen Sie nicht, die Sitzung zu konfigurieren.

Nutzer bei 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 Umgebungen, 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 verwendet werden, die nicht von VPS abgedeckt sind. 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