मोबाइल डिवाइसों पर, Jetpack XR ऐप्लिकेशन के लिए ARCore चलाना

Jetpack XR के लिए ARCore, ARCore के साथ काम करने वाले मोबाइल डिवाइसों के साथ-साथ Android XR डिवाइसों पर भी काम करता है. ARCore for Jetpack XR library, उन डिवाइसों पर Google Play Services for AR रनटाइम का इस्तेमाल कर सकती है. इसकी मदद से, एआर (ऑगमेंटेड रिएलिटी) के अनुभव के लिए ऐप्लिकेशन लिखे जा सकते हैं. ये ऐप्लिकेशन, शेयर किए गए कोडबेस का इस्तेमाल करके, Jetpack XR perception API के लिए ARCore के साथ इंटरैक्ट करते हैं.

सुविधा के साथ काम करने की क्षमता

ARCore, Jetpack XR के लिए ये सुविधाएं उपलब्ध कराता है. हालांकि, ये मोबाइल रनटाइम पर काम नहीं करती हैं:

  • स्थानीय तौर पर सेव किए गए ऐंकर
  • चेहरा ट्रैक करने की सुविधा
  • आई ट्रैकिंग की सुविधा

मोबाइल रनटाइम को ऐक्सेस करना

आपके ऐप्लिकेशन को मोबाइल के ऐसे रनटाइम की सुविधाओं को ऐक्सेस करने की ज़रूरत पड़ सकती है जो Jetpack XR के लिए ARCore में उपलब्ध नहीं हैं. उदाहरण के लिए, लाइटिंग का अनुमान लगाने की वैल्यू को ऐक्सेस करने या रिकॉर्डिंग और प्लेबैक की सुविधा का इस्तेमाल करने के लिए.

डिपेंडेंसी जोड़ें

इन क्लास को सीधे तौर पर ऐक्सेस करने के लिए, आपके ऐप्लिकेशन को implementation डिपेंडेंसी के तौर पर इन लाइब्रेरी पर साफ़ तौर पर निर्भर रहना होगा.

अपनी 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()