Wie man EasyAR-Funktionen auf dem Apple Vision Pro nutzt
Diese Anleitung führt Sie durch die Konfiguration von Unity- und Xcode-Projekten, um alle EasyAR-Kernfunktionen einschließlich Mega-Cloud-Lokalisierung für Apple-Vision-Pro-Anwendungen freizuschalten.
Voraussetzungen
- Lernen Sie, wie man Kopfhörer-Beispiele verwendet
- Stellen Sie sicher, dass Ihre Entwicklungsumgebung folgende Anforderungen erfüllt:
- visionOS 2.0 oder höher
- Xcode 16.0 oder höher mit visionOS-Simulator für die entsprechende visionOS-Version
- Empfohlene Unity-Version: LTS-Version 6000.0.23 oder höher
Beantragung einer unternehmensweiten API-Genehmigung bei Apple Inc.
Da das Erfassen von Kamerabildern und -parametern auf dem Apple Vision Pro eine unternehmensweite API ist, die ein entitlement erfordert, müssen Sie bei Apple Inc. eine License-Datei mit diesem entitlement beantragen. Informationen zum Beantragen und Verwenden dieser Lizenz finden Sie unter Building spatial experiences for business apps with enterprise APIs for visionOS.
Wichtig
Die Bundle-ID im von Apple erhaltenen entitlement muss exakt mit der beim Erstellen des EasyAR Sense License Key eingegebenen übereinstimmen.
Auswahl des visionOS-App-Modus
Auf visionOS laufende Apps können ARKit-Daten nur im Immersive Space abrufen. Von Unity-Editor erstellte Apps müssen im Immersive Space basierend auf dem Rendering-Workflow und der API zwischen RealityKit with PolySpatial oder Metal Rendering with Compositor Services wählen.
Definitionen von Immersive Space finden Sie in der offiziellen Dokumentation von Apple.
Ausführliche Informationen zu Unitys App-Modi finden Sie im Unity-PolySpatial-Dokument unter visionOS Platform Overview.
Tipp
Empfehlungen zur Auswahl des App-Modus
Erste Wahl: RealityKit with PolySpatial
Wenn Sie neu bei visionOS sind, empfehlen wir diesen Modus. Er bietet tiefe Integration in visionOS-Rendering-Features, hohe Stabilität und exzellente Rendering-Ergebnisse. Dieser Modus unterstützt keine benutzerdefinierten Code-Shader (HLSL/ShaderLab) und erfordert Shader Graph. Nur PolySpatial-kompatible Funktionen werden unterstützt (werden in MaterialX konvertiert).
Unitys integrierte
Standard (Built-in)undLit (URP)Shader sind bereits offiziell angepasst und können direkt verwendet werden.Fortgeschrittene/spezifische Anforderungen: Metal Rendering with Compositor Services
Ideal für komplexe Projekte mit umfangreichen 3D-Asset-Migrationen oder benutzerdefinierten Shadern. Da Unity hier die gesamte Rendering-Logik übernimmt und RealityKit umgeht, sind Rendering-Ergebnisse oft weniger optimal und können unvorhergesehene Probleme verursachen.
EasyAR-Integrationstipp:
Beginnen Sie beim Einbinden von EasyAR immer mit RealityKit with PolySpatial. So isolieren Sie Variablen und vermeiden, dass Metal-Anpassungsprobleme mit AR-Fragen kollidieren.
Konfiguration im Unity-Projekt
Führen Sie folgende Konfigurationen im Unity-Projekt durch:
Notwendige Packages importieren
Unity 6 (empfohlen):
com.unity.xr.visionos(2.0.4+)com.unity.polyspatial(2.0.4+)com.unity.polyspatial.visionos(2.0.4+)
Wichtig
Alle Package-Versionen müssen exakt übereinstimmen.
Unity 6 wird priorisiert. Einige frühe Unity-2023.x-Versionen unterstützen visionOS noch nicht.
Unity 2022.3:
com.unity.xr.visionos(1.2.3)com.unity.polyspatial(1.2.3)com.unity.polyspatial.visionos(1.2.3)
Wichtig
Alle Package-Versionen müssen exakt identisch sein.
1.3.x wird nicht unterstützt. Verwenden Sie 1.2.3.
Build-Plattform auswählen
Navigieren Sie zu File > Build Profiles und wechseln Sie die Plattform zu visionOS.

Input System konfigurieren
Stellen Sie sicher, dass das neue Input System Package verwendet wird:
Gehen Sie zu Edit > Project Settings > Player und setzen Sie Active Input Handling auf Input System Package(New).
Unity fordert möglicherweise einen Neustart des Projekts. Klicken Sie auf Apply, um die Änderungen zu übernehmen.

XR Plug-in Management konfigurieren
Navigieren Sie zu Edit > Project Settings > XR Plug-in Management und aktivieren Sie unter dem visionOS-Tab in Plug-in Providers Apple visionOS.

Apple visionOS-Plugin konfigurieren
Gehen Sie zu Edit > Project Settings > XR Plug-in Management > Apple visionOS.
Wählen Sie basierend auf der vorherigen Erklärung den passenden App Mode.

Anmerkung
Windowed-Modus läuft nicht im Immersive Space und unterstützt daher keine AR-Funktionen.
Hybrid-Modus erfordert manuelles Umschalten zwischen Metal und RealityKit. Aufgrund der Komplexität wird er nicht empfohlen. Details finden Sie in Unitys offizieller Modusbeschreibung.
Ändern Sie im selben Fenster folgende Einstellungen:
Fügen Sie unter World Sensing Usage Description eine Beschreibung hinzu.
Setzen Sie Metal Immersion Style auf Mixed.
Setzen Sie Reality Kit Immersion Style auf Mixed.
Aktivieren Sie IL2CPP Large Exe Workaround.

[Nur für RealityKit-Modus] TextMesh Pro Essentials importieren
Gehen Sie zu Edit > Project Settings > TextMesh Pro > Klicken Sie auf Import TMP Essentials

Anmerkung
RealityKit with PolySpatial unterstützt derzeit nur TextMesh Pro-Text. Ohne Import wird kein Text gerendert.
[Nur für RealityKit-Modus] PolySpatial-Einstellungen
Navigieren Sie zu Edit > Project Settings > PolySpatial und nehmen Sie folgende Änderungen vor:
Setzen Sie Default Volume Camera Window Config auf
Default Unbounded Configuration.Aktivieren Sie Auto-Create Volume Camera

Wenn Sie eine andere Default Volume Camera Window Config angeben, muss deren Mode Unbounded sein.

Entfernen Sie vorhandene Volume Camera-Objekte aus der Szene.

Warnung
Volume Cameramit nicht-identityWorld Transform werden nicht unterstützt.- Falls aus besonderen Gründen eine einzelne benutzerdefinierte
Volume Cameraerforderlich ist:- Setzen Sie deren
World Transformaufidentity. - Stellen Sie sicher, dass der
ModeinVolume Camera Window ConfigurationaufUnboundedgesetzt ist. - Verwenden Sie sie nur, wenn Sie deren Funktion laut Unity-Dokumentation vollständig verstehen.
- Setzen Sie deren
[Bei Mega-Nutzung] Location Usage Description hinzufügen
Vorsicht
Wenn Sie Location-Berechtigungen in EasyAR aktivieren (für Mega), müssen Sie eine Berechtigungsbeschreibung hinzufügen. Andernfalls schlägt der Build fehl.
Da Project Settings > Player > visionOS aktuell kein Location Usage Description-Feld anzeigt, gehen Sie wie folgt vor:
- Plattform wechseln: Wechseln Sie temporär zum iOS-Tab.
- Beschreibung eingeben: Fügen Sie unter Location Usage Description eine Erklärung hinzu.
- Zu visionOS zurückkehren: Wechseln Sie zurück zum visionOS-Tab. Die Konfiguration bleibt erhalten.

Konfiguration im Xcode-Projekt
Führen Sie in dem von Unity exportierten Xcode-Projekt folgende Schritte aus:
Entitlement für Kameradaten konfigurieren
Kopieren Sie die beantragte
Enterprise.licensein das Xcode-Projektverzeichnis.
Ziehen Sie
Enterprise.licenseaus dem Projektverzeichnis in das Xcode-Projekt.
Info.plist anpassen für Dateispeicherung und -übertragung
Wenn Ihre App EIFs aufnehmen und über die visionOS-Dateien-App an Computer senden soll, fügen Sie folgende Einträge in Info.plist hinzu:
Fügen Sie
LSSupportsOpeningDocumentsInPlacehinzu und setzen Sie den Wert auftrue.Fügen Sie
UIFileSharingEnabledhinzu und setzen Sie den Wert auftrue.

Tipp
Xcode zeigt Key-Namen nach dem Hinzufügen anders an (z. B. Supports opening documents in place statt LSSupportsOpeningDocumentsInPlace). Das ist normal.