ARCore für Jetpack XR bietet leistungsstarke Wahrnehmungsfunktionen, mit denen Ihre App die reale Welt über eine Vielzahl von APIs verstehen kann. Einige dieser APIs helfen Ihnen, immersive Erlebnisse für Geräte wie XR-Headsets und kabelgebundene XR-Datenbrillen zu verbessern, andere helfen Ihnen, Augmented-Reality-Erlebnisse für Geräte wie KI-Brillen zu verbessern, und wieder andere helfen Ihnen, App-Erlebnisse für alle Arten von Android XR-Geräten zu verbessern.
Mit ARCore für Jetpack XR können Sie beispielsweise planare Daten abrufen, Inhalte an einer festen Position im Raum verankern oder eine raumbezogene Position verwenden, um Inhalte an einem realen Ort zu verankern.
Bibliotheksabhängigkeiten hinzufügen
Bevor Sie Wahrnehmungsfunktionen in Ihrer XR-App verwenden, müssen Sie die erforderlichen Abhängigkeiten hinzufügen. Diese hängen davon ab, welche Art von Nutzerfreundlichkeit der App Sie mit AR verbessern möchten.
Auf eine Sitzung zugreifen
Die Wahrnehmungsfunktionen in ARCore für Jetpack XR basieren auf einem Session, der die Jetpack XR-Laufzeit verwendet.
Wie Ihre App auf eine Sitzung zugreifen sollte, hängt von den Arten von Nutzerfreundlichkeit der App ab, die Sie mit Wahrnehmungsfunktionen verbessern:
- Wenn Ihre App immersive Erlebnisse mit einer räumlichen Benutzeroberfläche mithilfe von Jetpack Compose für XR verbessert, greifen Sie auf eine Sitzung von Jetpack Compose für XR zu.
- In allen anderen Fällen können Sie eine Sitzung mit der Jetpack XR-Laufzeit erstellen. Dies wird im folgenden Abschnitt auf dieser Seite beschrieben.
Sitzung mit Jetpack XR Runtime erstellen
Wenn Sie eine Sitzung erstellen möchten, übergeben Sie ein Context an die Methode create(). Dieser Context kann ein Activity auf immersiven XR-Geräten oder Mobilgeräten oder ein projizierter Kontext auf Smart Glasses sein.
Das Erstellen einer ARCore-Sitzung kann eine ressourcenintensive Aufgabe sein und sollte im Hintergrund verarbeitet werden, wie im folgenden Beispiel gezeigt:
lifecycleScope.launch { when (val result = Session.create(context)) { is SessionCreateSuccess -> { val xrSession = result.session // ... } else -> TODO(/* A different unhandled exception was thrown. */) } }
Die Funktion create() kann einen optionalen Parameter LifecycleOwner verwenden, mit dem der Lebenszyklus der Sitzung von einem anderen LifecycleOwner verwaltet werden kann. Der Lebenszyklus des LifecycleOwner muss innerhalb des bereitgestellten Kontexts beginnen und enden, da es sonst zu Lecks im Session kommen kann.
Sitzung konfigurieren
Einige Funktionen sind möglicherweise standardmäßig deaktiviert und müssen konfiguriert werden, damit sie funktionieren. Wenn Sie eine Sitzung konfigurieren möchten, verwenden Sie configure() und geben Sie die Konfigurationsoptionen an, die für Session erforderlich sind. Weitere Informationen zur erforderlichen Konfiguration für die verschiedenen AR-Funktionen finden Sie auf den entsprechenden Seiten für die einzelnen AR-Funktionen.
Nächste Schritte
Sobald Ihre App eine Sitzung hat, können Sie sich die verschiedenen Möglichkeiten ansehen, wie Sie die App-Nutzung für verschiedene XR-Geräte verbessern können:
- Ebenen mit ARCore für Jetpack XR erkennen
- Anker mit ARCore für Jetpack XR erstellen
- Mit ARCore für Jetpack XR Handgesten verwenden
- Mimik-Erkennung mit ARCore für Jetpack XR in Ihre App einbinden
- Tiefeninformationen in Ihrer App mit ARCore für Jetpack XR abrufen
- Geräteposition mit ARCore für Jetpack XR verfolgen