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 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