Ejecuta ARCore para apps de Jetpack XR en dispositivos móviles

ARCore para Jetpack XR se puede ejecutar en dispositivos móviles compatibles y en dispositivos Android XR. La biblioteca de ARCore para Jetpack XR puede usar el tiempo de ejecución de los Servicios de Google Play para RA en esos dispositivos. Esto te permite escribir apps para experiencias de RA que usan una base de código compartida para interactuar con las APIs de percepción de ARCore para Jetpack XR.

Compatibilidad de funciones

Las siguientes funciones que proporciona ARCore para Jetpack XR no son compatibles con el tiempo de ejecución para dispositivos móviles:

  • Anclajes persistentes a nivel local
  • Seguimiento de rostros
  • Seguimiento de ojos

Accede al entorno de ejecución subyacente para dispositivos móviles

Es posible que tu app necesite acceder a funciones del tiempo de ejecución móvil subyacente que no se exponen en ARCore para Jetpack XR, por ejemplo, para acceder a los valores de Estimación de iluminación o usar Grabación y reproducción.

Cómo agregar dependencias

Tu app debe depender explícitamente de las siguientes bibliotecas como una dependencia de implementation para acceder a estas clases directamente.

Usa la siguiente especificación de dependencia en tu archivo build.gradle:

Groovy

dependencies {
    implementation "androidx.xr.arcore:arcore-play-services:1.0.0-alpha09"
    implementation "com.google.ar:core:1.51.0"
}

Kotlin

dependencies {
    implementation("androidx.xr.arcore:arcore-play-services:1.0.0-alpha09")
    implementation("com.google.ar:core:1.51.0")
}

Accede a ArCoreRuntime

Tu app puede obtener un Session y un Frame del tiempo de ejecución subyacente y usar esos objetos directamente:

val arCoreRuntime = session.runtimes.firstNotNullOfOrNull { it as? ArCoreRuntime } ?: return
val originalSession = arCoreRuntime.lifecycleManager.session()
val originalFrame = arCoreRuntime.perceptionManager.lastFrame()