Executar o ARCore para apps Jetpack XR em dispositivos móveis

O ARCore para Jetpack XR pode ser executado em dispositivos móveis compatíveis e em dispositivos Android XR. A biblioteca ARCore para Jetpack XR pode usar o tempo de execução do Google Play Services para RA nesses dispositivos. Isso permite escrever apps para experiências de RA que usam uma base de código compartilhada para interagir com as APIs de percepção do ARCore para Jetpack XR.

Compatibilidade de recursos

Os seguintes recursos fornecidos pelo ARCore para Jetpack XR não são compatíveis com o tempo de execução móvel:

  • Âncoras persistentes locais
  • Rastreamento de rostos
  • Rastreamento ocular

Acessar o ambiente de execução móvel subjacente

Talvez o app precise acessar recursos do tempo de execução móvel subjacente que não são expostos no ARCore para Jetpack XR, por exemplo, para acessar valores de Estimativa de iluminação ou usar Gravação e reprodução.

Adicionar dependências

Seu app precisa depender explicitamente das seguintes bibliotecas como uma implementation dependência para acessar essas classes diretamente.

Use a seguinte especificação de dependência no arquivo 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")
}

Acessar o ArCoreRuntime

Seu app pode receber um Session e Frame do tempo de execução subjacente e usar esses objetos diretamente:

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