Accedere a una sessione per creare UI ed entità spazializzate

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

Il Session fornisce l'interfaccia principale per la funzionalità spazializzata della tua app. Ogni Activity spazializzata deve creare e mantenere un'istanza di Session. Dopo aver creato una sessione, l'app può utilizzare le interfacce Session per creare entità di contenuti spazializzati come pannelli o modelli 3D, nonché impostare un ambiente spaziale, identificare la posizione dell'utente e ancorare i contenuti al mondo reale.

Accedere a una sessione da Jetpack Compose per XR

Quando utilizzi Jetpack Compose per XR, la sessione viene creata automaticamente e puoi accedervi utilizzando LocalSession.current. Vedi l'esempio che segue:

@Composable
fun ComposableUsingSession() {
    val session = LocalSession.current
}

Accedere a una sessione da Jetpack XR Runtime

Se stai creando entità spazializzate dalla libreria Jetpack SceneCore, devi creare una sessione.

Per creare una sessione, passa un Context al create() metodo. Questo Context può essere un Activity su dispositivi XR immersivi o dispositivi mobili oppure 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 che segue:

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 UI spaziali e 3D associati a quella sessione vengono eliminati e la sessione non è più valida.

Vedi anche