Melhorar as experiências de apps com percepção usando o ARCore para Jetpack XR

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

O ARCore para Jetpack XR oferece recursos de percepção avançados para que seu app entenda o mundo real usando várias APIs. Algumas dessas APIs ajudam a melhorar as experiências imersivas em dispositivos como headsets XR e óculos XR com fio, outras ajudam a melhorar as experiências aumentadas em dispositivos como óculos com IA e outras ajudam a melhorar as experiências no app em todos os tipos de dispositivos Android XR.

Por exemplo, é possível usar o ARCore para Jetpack XR para recuperar dados planos, fixar conteúdo em um local fixo no espaço ou usar uma pose geoespacial para fixar conteúdo em um local do mundo real.

Adicionar dependências de biblioteca

Antes de começar a usar os recursos de percepção no seu app de XR, adicione as dependências necessárias, de acordo com o tipo de experiência no app que você está aprimorando com RA.

Acessar uma sessão

Os recursos de percepção no ARCore para Jetpack XR dependem de um Session, que usa o ambiente de execução do Jetpack XR.

A forma como o app deve acessar uma sessão depende dos tipos de experiências no app que você está aprimorando com os recursos de percepção:

Criar uma sessão usando o ambiente de execução do Jetpack XR

Para criar uma sessão, transmita um Context para o método create(). Esse Context pode ser um Activity em dispositivos XR imersivos ou móveis ou um contexto projetado em óculos inteligentes.

Criar uma sessão do ARCore pode ser uma tarefa cara e precisa ser processada em segundo plano, conforme mostrado no 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. */)
    }
}

A função create() pode usar um parâmetro opcional LifecycleOwner, que permite que o ciclo de vida da sessão seja gerenciado por um LifecycleOwner diferente. O LifecycleOwner precisa começar e terminar o ciclo de vida no escopo do contexto fornecido. Caso contrário, o Session pode estar sujeito a vazamentos.

Configurar uma sessão

Alguns recursos podem estar desativados por padrão e precisam ser configurados para funcionar. Para configurar uma sessão, use configure() e especifique as opções de configuração necessárias para o Session. Para detalhes sobre a configuração necessária para diferentes recursos de RA, consulte as páginas correspondentes de cada recurso.

Próximas etapas

Depois que o app tiver uma sessão, confira como usá-la para melhorar as experiências em diferentes dispositivos XR: