Acessar uma sessão para criar interfaces e entidades espacializadas

Dispositivos XR relevantes
Estas orientações ajudam você a criar experiências para esses tipos de dispositivos XR.
Headsets XR
Óculos XR com fio

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