O Session fornece a interface principal para a funcionalidade espacializada
do seu app. Cada Activity espacializada precisa criar e manter uma instância de
Session. Depois que o app cria uma sessão, ele pode usar as interfaces Session
para criar entidades de conteúdo espacializadas, como painéis ou modelos 3D, além de
definir um ambiente espacial, identificar a posição do usuário e ancorar
o conteúdo no mundo real.
Acessar uma sessão do Jetpack Compose para XR
Ao usar o Jetpack Compose para XR, a sessão é criada para você e pode ser
acessada usando LocalSession.current. Confira este exemplo:
@Composable fun ComposableUsingSession() { val session = LocalSession.current }
Acessar uma sessão do Jetpack XR Runtime
Se você estiver criando entidades espacializadas na biblioteca SceneCore do Jetpack, será necessário criar uma sessão.
Para criar uma sessão, transmita um Context para o
create() método. Este Context pode ser um Activity em
dispositivos XR imersivos ou móveis ou um
contexto projetado.
A criação de uma sessão do ARCore pode ser uma tarefa cara e precisa ser processada em segundo plano, conforme mostrado em o exemplo a seguir:
lifecycleScope.launch { when (val result = Session.create(context)) { is SessionCreateSuccess -> { val xrSession = result.session // ... } else -> TODO(/* A different unhandled exception was thrown. */) } }
Quando a atividade de uma sessão é destruída, toda a interface espacial e o conteúdo 3D associados a essa sessão são destruídos, e a sessão não é mais válida.
Consulte também
- Verificar recursos espaciais
- Transição entre HSM e FSM
- Adicionar ambientes espaciais ao app
- Adicionar modelos 3D ao app