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

L'Session fornisce l'interfaccia principale per la funzionalità spazializzata della tua app. Ogni Activity spazializzata deve creare e contenere 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:

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 3D e l'interfaccia utente spaziale associati a quella sessione vengono eliminati e la sessione non è più valida.

Vedi anche