เรียกใช้ ARCore สำหรับแอป Jetpack XR บนอุปกรณ์เคลื่อนที่

ARCore สำหรับ Jetpack XR สามารถทำงานได้ในอุปกรณ์เคลื่อนที่ที่รองรับ รวมถึงอุปกรณ์ Android XR ไลบรารี ARCore สำหรับ Jetpack XR สามารถใช้รันไทม์ของ บริการ Google Play สำหรับ AR ในอุปกรณ์เหล่านั้นได้ ซึ่งจะช่วยให้คุณเขียนแอปสำหรับประสบการณ์ AR ที่ใช้โค้ดเบสที่แชร์เพื่อ โต้ตอบกับ ARCore สำหรับ Jetpack XR Perception API ได้

ความเข้ากันได้ของฟีเจอร์

ฟีเจอร์ต่อไปนี้ที่ ARCore มีให้สำหรับ Jetpack XR ไม่รองรับในรันไทม์บนอุปกรณ์เคลื่อนที่

  • Anchor ที่คงอยู่เฉพาะในเครื่อง
  • การติดตามใบหน้า
  • การติดตามดวงตา

เข้าถึงรันไทม์ของอุปกรณ์เคลื่อนที่พื้นฐาน

แอปอาจต้องเข้าถึงฟีเจอร์จากรันไทม์ของอุปกรณ์เคลื่อนที่พื้นฐานที่ไม่ได้เปิดเผยใน ARCore สำหรับ Jetpack XR เช่น เพื่อเข้าถึงค่าการประมาณค่าแสง หรือเพื่อใช้การบันทึกและ การเล่น

เพิ่มทรัพยากร Dependency

แอปของคุณต้องมีทรัพยากร Dependency ในไลบรารีต่อไปนี้อย่างชัดเจนเป็นimplementation เพื่อเข้าถึงคลาสเหล่านี้โดยตรง

ใช้ข้อกำหนดทรัพยากร Dependency ต่อไปนี้ในไฟล์ 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")
}

เข้าถึง ArCoreRuntime

แอปของคุณสามารถรับ Session และ Frame จากรันไทม์พื้นฐานและใช้ออบเจ็กต์เหล่านั้น ได้โดยตรง

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