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:
- Se la tua app sta migliorando le esperienze immersive con l'interfaccia utente spaziale utilizzando Jetpack Compose per XR, accedi a una sessione da Jetpack Compose per XR.
- In tutte le altre situazioni, puoi accedere a una sessione da Jetpack XR Runtime, argomento trattato nella sezione seguente di questa pagina.
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:
- Rilevare i piani utilizzando ARCore per Jetpack XR
- Creare ancoraggi con ARCore per Jetpack XR
- Utilizzare le mani con ARCore per Jetpack XR
- Incorporare il tracciamento facciale nella tua app con ARCore per Jetpack XR
- Recuperare le informazioni sulla profondità nella tua app con ARCore per Jetpack XR
- Monitorare la posa di un dispositivo utilizzando ARCore per Jetpack XR