O Session fornece a interface principal para a funcionalidade espacializada
do seu app. Cada Activity espacializado 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 espacializado, como painéis ou modelos 3D, além de
definir um ambiente espacial, identificar a posição do usuário e ancorar
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 da biblioteca Jetpack SceneCore, será necessário criar uma sessão.
Para criar uma sessão, transmita um [Context] ao método create(). Esse Context pode ser um Activity em dispositivos XR imersivos ou
móveis ou um contexto projetado.
Criar uma sessão do ARCore pode ser uma tarefa cara e precisa ser processada em segundo plano, conforme mostrado no exemplo a seguir:
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 ela também são destruídos, e a sessão perde a validade.
Consulte também
- Verificar recursos espaciais
- Transição entre HSM e FSM
- Adicionar ambientes espaciais ao app
- Adicionar modelos 3D ao app