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
- Verificare le funzionalità spaziali
- Eseguire la transizione tra HSM e FSM
- Aggiungere ambienti spaziali all'app
- Aggiungere modelli 3D all'app