ARCore para Jetpack XR ofrece potentes capacidades de percepción para que tu app comprenda el mundo real a través de una variedad de APIs. Algunas de estas APIs te ayudan a mejorar las experiencias inmersivas para dispositivos como visores de RE y lentes de RE con cable, otras te ayudan a mejorar las experiencias aumentadas para dispositivos como lentes con IA y otras te ayudan a mejorar las experiencias en la app para todos los tipos de dispositivos Android XR.
Por ejemplo, puedes usar ARCore para Jetpack XR para recuperar datos planos, fijar contenido en una ubicación fija en el espacio o usar una pose geoespacial para fijar contenido en una ubicación del mundo real.
Agrega dependencias de bibliotecas
Antes de comenzar a usar las funciones de percepción en tu app de realidad extendida, agrega las dependencias necesarias, según el tipo de experiencias en la app que estés mejorando con RA.
Cómo acceder a una sesión
Las funciones de percepción de ARCore para Jetpack XR se basan en un Session, que usa el entorno de ejecución de Jetpack XR.
La forma en que tu app debe acceder a una sesión depende de los tipos de experiencias en la app que estés mejorando con las funciones de percepción:
- Si tu app mejora las experiencias envolventes con la IU espacial usando Jetpack Compose para XR, accede a una sesión desde Jetpack Compose para XR.
- En todas las demás situaciones, puedes crear una sesión con el entorno de ejecución de Jetpack XR, que se describe en la siguiente sección de esta página.
Crea una sesión con el entorno de ejecución de Jetpack XR
Para crear una sesión, pasa un Context al método create(). Este Context puede ser un Activity en dispositivos de RE envolventes o dispositivos móviles, o un contexto proyectado en lentes inteligentes.
Crear una sesión de ARCore puede ser una tarea costosa y se debe procesar en segundo plano, como se muestra en el siguiente ejemplo:
lifecycleScope.launch { when (val result = Session.create(context)) { is SessionCreateSuccess -> { val xrSession = result.session // ... } else -> TODO(/* A different unhandled exception was thrown. */) } }
La función create() puede usar un parámetro
LifecycleOwner opcional, que permite que
el ciclo de vida de la sesión se administre con un LifecycleOwner diferente. El LifecycleOwner debe comenzar y finalizar su ciclo de vida dentro del alcance del contexto proporcionado; de lo contrario, el Session puede ser propenso a pérdidas.
Configura una sesión
Es posible que algunas funciones estén inhabilitadas de forma predeterminada y deban configurarse para
funcionar. Para configurar una sesión, usa configure() y especifica las opciones de configuración que necesita tu Session. Para obtener detalles sobre la configuración requerida para las diferentes funciones de RA, consulta las páginas correspondientes de cada función de RA.
Próximos pasos
Después de que tu app tenga una sesión, explora las formas en que puedes usarla para mejorar las experiencias en la app para diferentes dispositivos de RE:
- Detecta planos con ARCore para Jetpack XR
- Crea anclas con ARCore para Jetpack XR
- Trabaja con las manos usando ARCore para Jetpack XR
- Incorpora el seguimiento facial en tu app con ARCore para Jetpack XR
- Recupera información de profundidad en tu app con ARCore para Jetpack XR
- Cómo hacer un seguimiento de la posición de un dispositivo con ARCore para Jetpack XR