Mejora las experiencias de las apps con la percepción usando ARCore para Jetpack XR

Dispositivos de realidad extendida correspondientes
Esta guía te ayuda a crear experiencias para estos tipos de dispositivos de realidad extendida.
Visores de realidad extendida
Lentes de realidad extendida con cable
Lentes con audio y
pantalla

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:

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: