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

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

Vorbereitung

Machen Sie sich mit den grundlegenden AR-Konzepten vertraut. und Konfigurieren einer ARCore-Sitzung beschrieben, bevor du fortfährst.

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

Wenn Sie noch nicht mit ARCore vertraut sind, lesen Sie den Artikel Erste Schritte. finden Sie Informationen zu Software- und Hardwareanforderungen, Voraussetzungen und weitere Informationen speziell für die von Ihnen genutzten Plattformen.

Damit Sie die ARCore Geospatial API verwenden können, muss Ihr Projekt Grundlagen von AR und die ARCore Extensions for AR Foundation

ARCore API aktivieren

Bevor Sie das Visual Positioning System (VPS) in Ihrer App verwenden können, müssen Sie die ARCore API zu aktivieren in einem neuen oder vorhandenen Google Cloud-Projekt. Dieser Dienst ist für Geospatial-Anker zu hosten, zu speichern und aufzulösen.

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

Der App erforderliche Bibliotheken hinzufügen

Nachdem du deine App zum Aufrufen der ARCore API autorisiert hast, musst du Bibliotheken hinzufügen zu: Geodaten-Funktionen in Ihrer App 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 Optional Features die Option Geospatial aus.

Raumbezogene Funktionen in der Sitzungskonfiguration aktivieren

Nachdem Sie die Geodatenfunktionen in Ihrer App aktiviert haben, aktivieren Sie sie in der Konfiguration der AR-Sitzung, damit sie mit der ARCore API kommunizieren kann:

  1. Achten Sie darauf, dass der Ordner Assets des Projekts ein skriptfähiges Objekt ARCoreExtensionsConfig enthält. Um eines zu erstellen, klicken Sie mit der rechten Maustaste in den Bereich Assets und wählen Sie Erstellen aus. XR > ARCore Extensions Config
  2. Wählen Sie im Ordner Assets das skriptfähige Objekt ARCoreExtensionsConfig aus und setzen Sie den Raumbezogenen Modus auf Aktiviert.

  3. Konfigurieren Sie das Spielobjekt ARCore Extensions so, dass es die Konfiguration ARCoreExtensionsConfig verwendet. Suchen Sie im Bereich Hierarchie nach dem Spielobjekt ARCore Extensions, das Sie bei der Ersteinrichtung von ARCore-Erweiterungen erstellt haben, und verbinden Sie das Feld ARCore Extensions Config mit dem skriptfähigen Objekt ARCoreExtensionsConfig in Ihrem Ordner Assets.

Nutzer auffordern, die Nutzung von Gerätedaten zuzulassen

Bei Apps, die die ARCore Geospatial API verwenden, muss der Nutzer aufgefordert werden, die Nutzung von Daten auf ihrem Gerät bestätigen und zulassen. Weitere Informationen finden Sie unter Anforderungen an den Datenschutz für weitere Informationen Informationen.

Gerätekompatibilität prüfen

Nicht alle Geräte, die ARCore unterstützen, unterstützen auch die Geospatial API. Zur Überprüfung aus Gründen der Kompatibilität, rufen Sie AREarthManager.IsGeospatialModeSupported() Wird FeatureSupported.Unsupported zurückgegeben, versuchen Sie nicht, den Parameter Sitzung.

Nutzer zur Laufzeit um Berechtigungen zur Standortermittlung bitten

Um die Standortdienste von Unity in einem Skript zu aktivieren, das die Laufzeit auslöst Führe folgende Schritte aus:

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

  2. Standortdienste von Unity aktivieren, um die Laufzeit auszulösen Berechtigungsanfrage lautet:

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

    Siehe Unity- LocationService in der Dokumentation.

Verfügbarkeit von raumbezogenen Daten am aktuellen Standort des Geräts prüfen

Da die Geospatial API eine Kombination aus VPS und GPS verwendet, um eine Geospatial-Pose zu bestimmen, kann die API verwendet werden, solange das Gerät seinen Standort ermitteln kann. In Gebieten mit geringer GPS-Genauigkeit, z. B. in Innenräumen und dichten städtischen Umgebungen, ist die API auf die VPS-Abdeckung angewiesen, um Posen mit hoher Genauigkeit zu generieren. Unter typischen Bedingungen ist mit VPS eine Positionsgenauigkeit von etwa 5 Metern und eine Rotationsgenauigkeit von 5 Grad zu erwarten. Mit AREarthManager.CheckVpsAvailability() können Sie ermitteln, ob ein bestimmter Standort eine VPS-Abdeckung hat.

Die Geospatial API kann auch in Gebieten eingesetzt werden, die keine VPS-Abdeckung haben. In Umgebungen mit wenig oder gar keinen Hindernissen im Freien kann GPS ausreichen, um eine Pose mit hoher Genauigkeit zu generieren.

Nächste Schritte