Migliorare le esperienze delle app con la percezione utilizzando ARCore per Jetpack XR

Dispositivi XR applicabili
Queste indicazioni ti aiutano a creare esperienze per questi tipi di dispositivi XR.
Visori XR
Occhiali XR con cavo
Audio e
occhiali con display

ARCore per Jetpack XR offre potenti funzionalità di percezione per consentire alla tua app di comprendere il mondo reale tramite una serie di API. Alcune di queste API ti aiutano a migliorare le esperienze immersive per dispositivi come i visori XR e gli occhiali XR con cavo, altre ti aiutano a migliorare le esperienze aumentate per dispositivi come gli occhiali AI e altre ancora ti aiutano a migliorare le esperienze con le app per tutti i tipi di dispositivi Android XR.

Ad esempio, puoi utilizzare ARCore per Jetpack XR per recuperare dati planari, ancorare i contenuti a una posizione fissa nello spazio o utilizzare una posa geospaziale per ancorare i contenuti a una posizione reale.

Aggiungere dipendenze della libreria

Prima di iniziare a utilizzare le funzionalità di percezione nella tua app XR, aggiungi le dipendenze necessarie, a seconda del tipo di esperienze con l'app che stai migliorando con l'AR.

Accedi a una sessione

Le funzionalità di percezione in ARCore per Jetpack XR si basano su un Session, che utilizza il runtime Jetpack XR.

Il modo in cui l'app deve accedere a una sessione dipende dai tipi di esperienze con l'app che stai migliorando con le funzionalità di percezione:

Crea una sessione utilizzando Jetpack XR Runtime

Per creare una sessione, passa un Context al metodo create(). Questo Context può essere un Activity su dispositivi XR immersivi o dispositivi mobili oppure un contesto proiettato su occhiali intelligenti.

La creazione di una sessione ARCore può essere un'attività dispendiosa e deve essere elaborata in background, come mostrato nell'esempio seguente:

lifecycleScope.launch {
    when (val result = Session.create(context)) {
        is SessionCreateSuccess -> {
            val xrSession = result.session
            // ...
        }
        else ->
            TODO(/* A different unhandled exception was thrown. */)
    }
}

La funzione create() può utilizzare un parametro LifecycleOwner facoltativo, che consente di gestire il ciclo di vita della sessione con un LifecycleOwner diverso. LifecycleOwner deve iniziare e terminare il suo ciclo di vita nell'ambito del contesto fornito, altrimenti Session potrebbe essere soggetto a perdite.

Configura una sessione

Alcune funzionalità potrebbero essere disattivate per impostazione predefinita e devono essere configurate per funzionare. Per configurare una sessione, utilizza configure() e specifica le opzioni di configurazione necessarie per Session. Per i dettagli sulla configurazione richiesta per le diverse funzionalità AR, consulta le pagine corrispondenti per ogni funzionalità AR.

Passaggi successivi

Una volta che l'app ha una sessione, esplora i modi in cui puoi utilizzarla per migliorare le esperienze con l'app per diversi dispositivi XR: