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:
- Se o app estiver aprimorando experiências imersivas com a interface espacial usando o Jetpack Compose para XR, acesse uma sessão do Jetpack Compose para XR.
- Em todas as outras situações, é possível criar uma sessão usando o ambiente de execução do Jetpack XR, que é abordado na seção a seguir nesta página.
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:
- Detectar planos usando o ARCore para Jetpack XR
- Criar âncoras com o ARCore para Jetpack XR
- Trabalhar com as mãos usando o ARCore para Jetpack XR
- Incorporar a captura de expressões faciais ao app com o ARCore para Jetpack XR
- Recuperar informações de profundidade no app com o ARCore para Jetpack XR
- Rastrear a pose de um dispositivo usando o ARCore para Jetpack XR