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:
- Se la tua app migliora le esperienze immersive con la UI spaziale utilizzando Jetpack Compose per XR, accedi a una sessione da Jetpack Compose per XR.
- In tutte le altre situazioni, puoi creare una sessione utilizzando Jetpack XR Runtime, descritto nella sezione seguente di questa pagina.
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:
- Rileva i piani utilizzando ARCore per Jetpack XR
- Crea ancoraggi con ARCore per Jetpack XR
- Lavora con le mani utilizzando ARCore per Jetpack XR
- Incorpora il tracciamento facciale nella tua app con ARCore per Jetpack XR
- Recupera le informazioni sulla profondità nella tua app con ARCore per Jetpack XR
- Monitora la posa di un dispositivo utilizzando ARCore per Jetpack XR