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

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 visori XR e occhiali XR con cavo, altre ti aiutano a migliorare le esperienze di realtà aumentata per dispositivi come gli occhiali AI e altre ancora ti aiutano a migliorare le esperienze delle 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 nel mondo 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 dell'app che stai migliorando con la realtà aumentata.

Accedere a una sessione

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

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

Accedere a una sessione da Jetpack XR Runtime

Per accedere a una sessione da Jetpack XR Runtime, devi crearla:

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

La creazione di una sessione ARCore può essere un'attività costosa e deve essere elaborata in background, come mostrato in 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. */)
    }
}

Quando l'attività di una sessione viene eliminata, tutti i contenuti di realtà aumentata associati a quella sessione vengono eliminati e la sessione non è più valida.

Configurare 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 di cui ha bisogno la tua Session. Per informazioni dettagliate sulla configurazione richiesta per le diverse funzionalità di realtà aumentata, consulta le pagine corrispondenti per ogni funzionalità di realtà aumentata.

Passaggi successivi

Dopo che la tua app ha una sessione, scopri come puoi utilizzarla per migliorare le esperienze dell'app per diversi dispositivi XR: