Android XR के लिए Unity की मदद से डेवलप करना

इन XR डिवाइसों पर लागू होता है
इस गाइड की मदद से, इन तरह के एक्सआर डिवाइसों के लिए अनुभव बनाए जा सकते हैं.
एक्सआर हेडसेट
तार वाले एक्सआर स्मार्ट ग्लास

इस गाइड में, Android XR के लिए Unity का इस्तेमाल करके ऐप्लिकेशन बनाने के बारे में खास जानकारी दी गई है. Android XR, Unity के उन टूल और सुविधाओं के साथ काम करता है जो आपको Unity से मिलती हैं. साथ ही, Unity का Android XR सपोर्ट, OpenXR पर आधारित है. इसलिए, OpenXR की खास जानकारी में बताई गई कई सुविधाएं, Unity में भी काम करती हैं.

इस गाइड में आपको इनके बारे में जानकारी मिलेगी:

  • Android XR के लिए Unity का सपोर्ट
    • Unity XR की बुनियादी बातें
    • Android XR के लिए ऐप्लिकेशन डेवलप और पब्लिश करना
    • Android XR के लिए Unity पैकेज
      • Unity OpenXR: Android XR पैकेज
      • Android XR Extensions for Unity
      • सुविधाएं और साथ काम करने की क्षमता से जुड़ी ज़रूरी बातें
  • इनपुट और इंटरैक्शन

Android XR के लिए Unity की सहायता

Android XR के लिए Unity ऐप्लिकेशन बनाते समय, Unity 6 के नए वर्शन में मौजूद मिक्स्ड रिएलिटी टूल और सुविधाओं का फ़ायदा लिया जा सकता है. इनमें मिक्स्ड रिएलिटी टेंप्लेट शामिल हैं. ये टेंप्लेट, XR Interaction Toolkit, AR Foundation, और OpenXR Plugin का इस्तेमाल करते हैं, ताकि आपको जल्दी से काम शुरू करने में मदद मिल सके. Android XR के लिए Unity का इस्तेमाल करके ऐप्लिकेशन बनाते समय, हमारा सुझाव है कि आप यूनिवर्सल रेंडर पाइपलाइन (यूआरपी) को रेंडर पाइपलाइन के तौर पर और Vulkan को Graphics API के तौर पर इस्तेमाल करें. इन सुविधाओं की मदद से, Unity की कुछ ग्राफ़िक्स सुविधाओं का फ़ायदा लिया जा सकता है. ये सुविधाएं सिर्फ़ Vulkan के साथ काम करती हैं. इन सेटिंग को कॉन्फ़िगर करने के तरीके के बारे में ज़्यादा जानने के लिए, प्रोजेक्ट सेटअप गाइड देखें.

Unity XR Basics

अगर आपको Unity या XR डेवलपमेंट के बारे में ज़्यादा जानकारी नहीं है, तो Unity का XR मैनुअल देखें. इससे आपको XR के बुनियादी कॉन्सेप्ट और वर्कफ़्लो समझने में मदद मिलेगी. XR मैनुअल में इनके बारे में जानकारी होती है:

Android के लिए ऐप्लिकेशन डेवलप और पब्लिश करना

Unity, Android के लिए ऐप्लिकेशन डेवलप करने, बनाने, और पब्लिश करने से जुड़े दस्तावेज़ उपलब्ध कराता है. इनमें Unity में Android की अनुमतियां, Android की बिल्ड सेटिंग, Android के लिए ऐप्लिकेशन बनाना, और Google Play पर ऐप्लिकेशन उपलब्ध कराना जैसे विषय शामिल हैं.

Android XR के लिए Unity पैकेज

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

इस इमेज में दिखाया गया है कि Unity के एडिटर में, इन सुविधा ग्रुप को कहां से चालू किया जा सकता है.

पहली इमेज. Unity XR प्लग-इन मैनेजमेंट स्क्रीन का उदाहरण.

Unity OpenXR Android XR

Unity OpenXR Android XR पैकेज, एक XR प्लग-इन है. इसकी मदद से, Unity में Android XR की सुविधा जोड़ी जा सकती है. यह XR प्लग-इन, Unity के लिए Android XR की ज़्यादातर सुविधाएं उपलब्ध कराता है. साथ ही, यह AR Foundation प्रोजेक्ट के लिए Android XR डिवाइसों पर काम करने की सुविधा चालू करता है. AR Foundation को उन डेवलपर के लिए डिज़ाइन किया गया है जो एआर या मिक्स्ड रिएलिटी के अनुभव बनाना चाहते हैं. यह एआर सुविधाओं के लिए इंटरफ़ेस उपलब्ध कराता है, लेकिन खुद कोई सुविधा लागू नहीं करता. Unity OpenXR Android XR पैकेज, इसे लागू करने की सुविधा देता है. इस पैकेज का इस्तेमाल शुरू करने के लिए, पैकेज का मैनुअल देखें. इसमें 'शुरू करने से जुड़ी गाइड' शामिल है.

Android XR Extensions for Unity

Android XR Extensions for Unity, Unity OpenXR Android XR पैकेज के साथ काम करता है. इसमें इमर्सिव एक्सपीरियंस बनाने में आपकी मदद करने के लिए, अतिरिक्त सुविधाएं शामिल हैं. इसका इस्तेमाल अकेले या Unity OpenXR Android XR पैकेज के साथ किया जा सकता है.

इस पैकेज का इस्तेमाल शुरू करने के लिए, प्रोजेक्ट सेटअप करने से जुड़ी हमारी गाइड पढ़ें या Android XR Extensions for Unity को इंपोर्ट करने से जुड़ी क्विकस्टार्ट गाइड पढ़ें.

सुविधाएं और साथ काम करने की क्षमता से जुड़ी ज़रूरी बातें

यहां दी गई टेबल में, Unity OpenXR के साथ काम करने वाली सुविधाओं के बारे में बताया गया है. इनमें Android XR पैकेज और Android XR Extensions for Unity पैकेज शामिल हैं. इस टेबल का इस्तेमाल यह तय करने के लिए किया जा सकता है कि आपको जिन सुविधाओं की ज़रूरत है वे किस पैकेज में मौजूद हैं. साथ ही, यह भी देखा जा सकता है कि ये सुविधाएं आपके डिवाइस के साथ काम करती हैं या नहीं.

सुविधा

Unity OpenXR: Android XR की सुविधा स्ट्रिंग

Android XR Extensions for Unity की सुविधा स्ट्रिंग

इस्तेमाल के उदाहरण और मॉडल के व्यवहार के बारे में जानकारी

AR सेशन

Android XR: एआर सेशन

  • सुविधा की सेटिंग में, ऑप्टिमाइज़ बफ़र डिसकार्ड (Vulkan) शामिल है

Android XR (एक्सटेंशन): सेशन मैनेजमेंट

  • सुविधा की सेटिंग में, सबसैंपलिंग (Vulkan) और यूआरपी स्पेसवॉर्प (Vulkan) शामिल हैं

किसी भी पैकेज की सुविधाओं का इस्तेमाल करने के लिए, आपको उस पैकेज के लिए एआर सेशन की सुविधा चालू करनी होगी. दोनों सुविधाओं को एक साथ चालू किया जा सकता है. अगर दोनों सुविधाओं के बीच कोई टकराव होता है, तो अलग-अलग सुविधाएं उसके हिसाब से काम करेंगी.

डिवाइस ट्रैकिंग

लागू नहीं

लागू नहीं

डिवाइस ट्रैकिंग का इस्तेमाल, डिवाइस की पोज़िशन और फ़िज़िकल स्पेस में रोटेशन को ट्रैक करने के लिए किया जाता है. XR Origin GameObject, डिवाइस ट्रैकिंग को अपने-आप मैनेज करता है. साथ ही, XROrigin कॉम्पोनेंट और GameObject के क्रम का इस्तेमाल करके, ट्रैक किए जा सकने वाले ऑब्जेक्ट को Unity के कोऑर्डिनेट सिस्टम में बदलता है. इसमें कैमरा और TrackedPoseDriver शामिल होता है.

कैमरा

Android XR: एआर कैमरा

लागू नहीं

इस सुविधा में, रोशनी का अनुमान लगाने और फ़ुल स्क्रीन पासथ्रू की सुविधा मिलती है.

प्लेन का पता लगाना

Android XR: एआर प्लैन

Android XR (एक्सटेंशन): प्लेन

ये दोनों सुविधाएं एक जैसी हैं. इनमें से किसी एक का इस्तेमाल करें. Android XR (एक्सटेंशन): इसमें प्लेन शामिल है, ताकि डेवलपर Android XR (एक्सटेंशन): ऑब्जेक्ट ट्रैकिंग और परसिस्टेंट ऐंकर की सुविधाओं का इस्तेमाल कर सकें. इसके लिए, उन्हें Unity OpenXR Android XR पैकेज पर निर्भर रहने की ज़रूरत नहीं होगी. आने वाले समय में, Android XR (Extensions): Plane को हटा दिया जाएगा. इसके बजाय, Android XR: AR Anchor का इस्तेमाल किया जाएगा.

ऑब्जेक्ट ट्रैकिंग

लागू नहीं

Android XR (एक्सटेंशन): ऑब्जेक्ट ट्रैकिंग

इस सुविधा की मदद से, आस-पास के माहौल में मौजूद ऑब्जेक्ट का पता लगाया जा सकता है और उन्हें ट्रैक किया जा सकता है. इसका इस्तेमाल, रेफ़रंस ऑब्जेक्ट लाइब्रेरी के साथ किया जाता है.

चेहरा ट्रैक करने की सुविधा

Android XR: एआर फ़ेस

  • सिर्फ़ XR_ANDROID_eye_tracking
  • चेहरा ट्रैक करने की सुविधा काम नहीं कर रही है

Android XR: चेहरा ट्रैक करने की सुविधा

  • XR_ANDROID_face_tracking

Android XR: एआर फ़ेस सुविधा के ज़रिए, अवतार की आंखों को कंट्रोल करने की सुविधा मिलती है. Android XR: Face Tracking सुविधा के ज़रिए, उपयोगकर्ता के चेहरे के हाव-भाव ऐक्सेस करना. इन दोनों सुविधाओं का एक साथ इस्तेमाल किया जा सकता है.

रे कास्ट

Android XR: एआर रेकास्ट

  • प्लेन ऐंकर
  • डेप्थ ऐंकर

लागू नहीं

इस सुविधा की मदद से, किसी किरण को कास्ट किया जा सकता है. साथ ही, उस किरण और फ़िज़िकल एनवायरमेंट में पता लगाए गए प्लेन ट्रैक करने लायक ऑब्जेक्ट या डेप्थ ट्रैक करने लायक ऑब्जेक्ट के बीच इंटरसेक्शन की गिनती की जा सकती है.

ऐंकर

Android XR: एआर ऐंकर

Android XR (एक्सटेंशन): ऐंकर

  • सुविधा की सेटिंग में, डेटा को सेव करके रखना शामिल है.

इन दोनों सुविधाओं में, स्पैटियल ऐंकर और प्लेन ऐंकर के लिए सहायता शामिल है. इनमें से किसी एक सुविधा का इस्तेमाल करें. परसिस्टेंट ऐंकर के लिए, Android XR (एक्सटेंशन): ऐंकर का इस्तेमाल करें. आने वाले समय में, Android XR (एक्सटेंशन): ऐंकर को हटा दिया जाएगा. साथ ही, ऐंकर की सभी सुविधाएं Android XR: एआर ऐंकर में उपलब्ध होंगी.

ऑक्लूज़न

Android XR: एआर ऑक्लूज़न

  • एनवायरमेंट डेप्थ

लागू नहीं

ऑक्लूज़न की सुविधा की मदद से, आपके ऐप्लिकेशन में मौजूद मिक्स्ड रिएलिटी कॉन्टेंट को असल दुनिया के ऑब्जेक्ट के पीछे छिपाया जा सकता है या उसे आंशिक रूप से धुंधला किया जा सकता है.

परफ़ॉर्मेंस मेट्रिक

Android XR की परफ़ॉर्मेंस मेट्रिक

लागू नहीं

इस सुविधा का इस्तेमाल करके, Android XR डिवाइसों की परफ़ॉर्मेंस मेट्रिक ऐक्सेस करें.

कंपोज़िशन लेयर

कंपोज़िशन लेयर की सुविधा (इसके लिए, OpenXR प्लगिन और XR कंपोज़िशन लेयर ज़रूरी है)

Android XR: पासथ्रू कंपोज़िशन लेयर

  • XR_ANDROID_composition_layer_passthrough_mesh

Unity के कंपोज़िशन लेयर सपोर्ट का इस्तेमाल करके, बुनियादी कंपोज़िशन लेयर बनाएं. जैसे, क्वाड, सिलेंडर, प्रोजेक्शन. Android XR: Passthrough Composition Layer का इस्तेमाल, कस्टम मेश वाली पासथ्रू लेयर बनाने के लिए किया जा सकता है. यह Unity के GameObject से डेटा पढ़ती है.

फ़ोविएटेड रेंडरिंग

फ़ोविएटेड रेंडरिंग (OpenXR प्लगिन ज़रूरी है)

  • इसमें आंखों की गतिविधियों को ट्रैक करके फ़ोविएटेड रेंडरिंग की सुविधा काम करती है: ज़्यादा रिज़ॉल्यूशन वाला हिस्सा, उस जगह पर होता है जहां उपयोगकर्ता देख रहा होता है. इससे उपयोगकर्ता को यह हिस्सा कम दिखता है

फ़ोविएशन (लेगसी)

फ़ोविएटेड रेंडरिंग की मदद से, रेंडरिंग की प्रोसेस को तेज़ किया जा सकता है. इसके लिए, उपयोगकर्ता की पेरिफ़ेरल विज़न (आंखों के कोनों से दिखने वाली जगह) में मौजूद इमेज का रिज़ॉल्यूशन कम किया जाता है. Unity की फ़ोविएटेड रेंडरिंग सुविधा, सिर्फ़ URP और Vulkan का इस्तेमाल करने वाले ऐप्लिकेशन के लिए उपलब्ध है. Android XR Extensions for Unity में मौजूद Foveation (लेगसी) सुविधा, Built-in Render Pipeline और OpenGL ES को भी सपोर्ट करती है. हमारा सुझाव है कि जब भी हो सके, Unity की फ़ोविएटेड रेंडरिंग सुविधा का इस्तेमाल करें. साथ ही, ध्यान दें कि Android XR के लिए ऐप्लिकेशन बनाते समय, URP और Vulkan, दोनों का इस्तेमाल करने का सुझाव दिया जाता है.

अनबाउंडेड रेफ़रंस स्पेस

लागू नहीं

Android XR: अनबाउंडेड रेफ़रंस स्पेस

यह सुविधा, XRInputSubsystem के ट्रैकिंग ओरिजिन मोड को Unbounded पर सेट करती है. अनबाउंड का मतलब है कि XRInputSubsystem, दुनिया के ऐंकर के हिसाब से सभी InputDevices को ट्रैक करता है. इसमें बदलाव किया जा सकता है.

एनवायरमेंट ब्लेंड मोड

लागू नहीं

एनवायरमेंट ब्लेंड मोड

इस सुविधा की मदद से, एक्सआर एनवायरमेंट ब्लेंड मोड सेट किया जा सकता है. इससे यह कंट्रोल किया जा सकता है कि पासथ्रू मोड चालू होने पर, वर्चुअल इमेज असल दुनिया के एनवायरमेंट के साथ कैसे ब्लेंड होती है.

इनपुट और इंटरैक्शन

Android XR में, कई तरह के नैचुरल इनपुट का इस्तेमाल किया जा सकता है.

इसमें हाथ और आंखों को ट्रैक करने के साथ-साथ, 6DoF कंट्रोलर, माउस, और फ़िज़िकल कीबोर्ड जैसे सहायक डिवाइसों का इस्तेमाल भी किया जा सकता है. इसका मतलब है कि Android XR के लिए बने ऐप्लिकेशन में, हाथ के जेस्चर (हाव-भाव) से इंटरैक्ट करने की सुविधा होनी चाहिए. यह नहीं माना जा सकता कि सभी डिवाइसों में कंट्रोलर होंगे.

इंटरैक्शन प्रोफ़ाइलें

Unity, इंटरैक्शन प्रोफ़ाइल का इस्तेमाल करता है. इससे यह मैनेज किया जाता है कि आपका XR ऐप्लिकेशन, अलग-अलग XR डिवाइसों और प्लैटफ़ॉर्म के साथ कैसे कम्यूनिकेट करता है. इन प्रोफ़ाइलों से, अलग-अलग हार्डवेयर कॉन्फ़िगरेशन के लिए अनुमानित इनपुट और आउटपुट तय किए जाते हैं. इससे, अलग-अलग प्लैटफ़ॉर्म पर कंपैटिबिलिटी और एक जैसी फ़ंक्शनैलिटी को बढ़ावा मिलता है. इंटरैक्शन प्रोफ़ाइलें चालू करके, यह पक्का किया जा सकता है कि आपका एक्सआर ऐप्लिकेशन अलग-अलग डिवाइसों पर सही तरीके से काम करे, इनपुट मैपिंग को एक जैसा बनाए रखे, और उसके पास एक्सआर की खास सुविधाओं का ऐक्सेस हो. इंटरैक्शन प्रोफ़ाइल सेट करने के लिए:

  1. प्रोजेक्ट सेटिंग विंडो खोलें (मेन्यू: बदलाव करें > प्रोजेक्ट सेटिंग).
  2. अगर ज़रूरी हो, तो प्लग-इन सेक्शन को बड़ा करने के लिए, XR प्लग-इन मैनेजमेंट पर क्लिक करें.
  3. एक्सआर प्लग-इन की सूची में, OpenXR को चुनें.
  4. इंटरैक्शन प्रोफ़ाइलें सेक्शन में जाकर, प्रोफ़ाइल जोड़ने के लिए + बटन को चुनें.
  5. सूची से वह प्रोफ़ाइल चुनें जिसे जोड़ना है.

हाथ के जेस्चर से इंटरैक्ट करने की सुविधा

हाथ के जेस्चर (XR_EXT_hand_interaction) की सुविधा OpenXR प्लगिन से मिलती है. साथ ही, हाथ के जेस्चर की सुविधा वाली प्रोफ़ाइल को चालू करके, Unity Input System में <HandInteraction>डिवाइस लेआउट दिखाया जा सकता है. इस इंटरैक्शन प्रोफ़ाइल का इस्तेमाल, हाथ से किए जाने वाले इनपुट के लिए करें. इसके लिए, OpenXR की ओर से तय की गई चार ऐक्शन पोज़ का इस्तेमाल किया जाता है: "पिंच", "पोक", "एम", और "ग्रिप". अगर आपको हाथ के इंटरैक्शन या हाथ के मूवमेंट को ट्रैक करने की अतिरिक्त सुविधा चाहिए, तो इस पेज पर XR Hands देखें.

आंखों से देखकर इंटरैक्ट करना

आंखों से इंटरैक्ट करने की सुविधा (XR_EXT_eye_gaze_interaction) OpenXR प्लगिन से मिलती है. इस लेआउट का इस्तेमाल करके, आंखों की पोज़िशन (जगह और घुमाव) का डेटा वापस पाया जा सकता है. यह डेटा एक्सटेंशन से मिलता है. OpenXR इनपुट गाइड में, आंखों से किए जाने वाले इंटरैक्शन के बारे में ज़्यादा पढ़ें.

कंट्रोलर इंटरैक्शन

Android XR, 6DoF कंट्रोलर के लिए Oculus Touch Controller Profile को सपोर्ट करता है. ये दोनों प्रोफ़ाइल, OpenXR प्लगिन से मिलती हैं.

माउस इंटरैक्शन

Android XR Mouse Interaction Profile (XR_ANDROID_mouse_interaction), Android XR Extensions for Unity की मदद से उपलब्ध कराई जाती है. यह Unity Input System में <AndroidXRMouse> डिवाइस लेआउट दिखाता है.

हथेली की पोज़ के साथ इंटरैक्शन

OpenXR प्लगिन, हथेली के पोज़ के साथ इंटरैक्ट करने (XR_EXT_palm_pose) की सुविधा देता है. इससे Unity Input System में <PalmPose> लेआउट दिखता है. हथेली की पोज़ वाली सुविधा, एक्सटेंशन या पैकेज का विकल्प नहीं है. ये एक्सटेंशन या पैकेज, ज़्यादा जटिल इस्तेमाल के मामलों के लिए हाथ को ट्रैक करते हैं. इसके बजाय, इस सुविधा का इस्तेमाल ऐप्लिकेशन के हिसाब से विज़ुअल कॉन्टेंट दिखाने के लिए किया जा सकता है. जैसे, अवतार के विज़ुअल. हथेली की पोज़िशन में, हथेली की जगह और ओरिएंटेशन, दोनों शामिल होते हैं.

XR Hands

XR Hands पैकेज की मदद से, हैंड ट्रैकिंग का डेटा ऐक्सेस किया जा सकता है. इसके लिए, XR_EXT_hand_tracking और XR_FB_hand_tracking_aim का इस्तेमाल किया जाता है. साथ ही, यह एक रैपर उपलब्ध कराता है, ताकि हैंड ट्रैकिंग से मिले हाथ के जॉइंट के डेटा को इनपुट पोज़ में बदला जा सके. XR Hands पैकेज की ओर से उपलब्ध कराई गई सुविधाओं का इस्तेमाल करने के लिए, Hand Tracking Subsystem और Meta Hand Tracking Aim OpenXR सुविधाओं को चालू करें.

हाथ के मूवमेंट को ट्रैक करने की सुविधा चालू करने का तरीका दिखाने वाला उदाहरण अगर आपको हाथ की पोज़िशन या हाथ की हड्डियों के बारे में ज़्यादा जानकारी चाहिए या आपको कस्टम जेस्चर का इस्तेमाल करना है, तो XR hands पैकेज आपके लिए फ़ायदेमंद हो सकता है.

ज़्यादा जानकारी के लिए, Unity का अपने प्रोजेक्ट में XR Hands को सेट अप करने से जुड़ा दस्तावेज़ देखें

चेहरा ट्रैक करने की सुविधा के लिए कॉन्फ़िडेंस रीजन

XR_ANDROID_face_tracking एक्सटेंशन, चेहरे के तीन हिस्सों के लिए कॉन्फ़िडेंस वैल्यू देता है: ऊपर बाईं ओर, ऊपर दाईं ओर, और नीचे का हिस्सा. ये वैल्यू, 0 (कोई कॉन्फ़िडेंस नहीं) से लेकर 1 (सबसे ज़्यादा कॉन्फ़िडेंस) तक होती हैं. इनसे हर इलाके के लिए, चेहरे को ट्रैक करने की सुविधा की सटीकता के बारे में पता चलता है.

इन कॉन्फ़िडेंस वैल्यू का इस्तेमाल करके, ब्लेंडशेप को धीरे-धीरे बंद किया जा सकता है. इसके अलावा, चेहरे के किसी हिस्से पर विज़ुअल फ़िल्टर (जैसे कि धुंधला करना) लागू किया जा सकता है. इसके लिए, चेहरे के संबंधित हिस्से में ब्लेंडशेप को बंद करें.

"चेहरे का निचला हिस्सा" आंखों के नीचे का पूरा हिस्सा होता है. इसमें मुंह, ठुड्डी, गाल, और नाक शामिल हैं. ऊपरी दो क्षेत्रों में, चेहरे के बाईं और दाईं ओर की आंखें और भौहें शामिल हैं.

नीचे दिया गया C# कोड स्निपेट दिखाता है कि Unity स्क्रिप्ट में कॉन्फ़िडेंस डेटा को कैसे ऐक्सेस और इस्तेमाल किया जाता है:

using UnityEngine;
using Google.XR.Extensions;

public class FaceTrackingConfidence : MonoBehaviour
{
    void Update()
    {
      if (!XRFaceTrackingFeature.IsFaceTrackingExtensionEnabled.HasValue)
      {
        DebugTextTopCenter.text = "XrInstance hasn't been initialized.";
        return;
      }
      else if (!XRFaceTrackingFeature.IsFaceTrackingExtensionEnabled.Value)
      {
        DebugTextTopCenter.text = "XR_ANDROID_face_tracking is not enabled.";
        return;
      }

      for (int x = 0; x < _faceManager.Face.ConfidenceRegions.Length; x++)
      {
        switch (x)
        {
          case (int)XRFaceConfidenceRegion.Lower:
            regionText = "Bottom";
            break;
          case (int)XRFaceConfidenceRegion.LeftUpper:
            regionText = DebugTextConfidenceLeft;
            break;
          case (int)XRFaceConfidenceRegion.RightUpper:
            regionText = DebugTextConfidenceRight;
            break;
        }
    }
}

ज़्यादा जानकारी के लिए, Android XR Extensions for Unity का दस्तावेज़ देखें.

हाथों को रेंडर करने का तरीका चुनना

Android XR में हाथों को रेंडर करने के दो तरीके हैं: हैंड मेश और प्रीफ़ैब विज़ुअलाइज़र.

हैंड मेश

Android XR Unity पैकेज में हैंड मेश की सुविधा होती है. इससे XR_ANDROID_hand_mesh extension को ऐक्सेस किया जा सकता है. हैंड मेश सुविधा, उपयोगकर्ता के हाथों के लिए मेश उपलब्ध कराती है. हाथ के मेश में, ऐसे त्रिकोणों के वर्टिसिज़ होते हैं जो हाथ की ज्यामिति को दिखाते हैं. इस सुविधा का इस्तेमाल, विज़ुअलाइज़ेशन के लिए किया जाता है. इससे, उपयोगकर्ता के हाथों की असली ज्यामिति दिखाने वाला, उसकी पसंद के मुताबिक बनाया गया मेश मिलता है.

XR Hands प्रीफ़ैब

XR Hands पैकेज में Hands visualizer नाम का एक सैंपल होता है. इसमें बाएं और दाएं हाथ के पूरी तरह से रिग्ड मॉडल होते हैं. इनकी मदद से, उपयोगकर्ता के हाथों को कॉन्टेक्स्ट के हिसाब से दिखाया जाता है.

सिस्टम जेस्चर

Android XR में, सिस्टम के जेस्चर की सुविधा शामिल है. इसकी मदद से, उपयोगकर्ता मेन्यू खोल सकते हैं. इस मेन्यू में, उन्हें वापस जाने, लॉन्चर खोलने या चल रहे ऐप्लिकेशन की खास जानकारी देखने का विकल्प मिलता है. उपयोगकर्ता, अपने मुख्य हाथ से पिंच करके इस सिस्टम मेन्यू को चालू कर सकता है.

जब उपयोगकर्ता सिस्टम नेविगेशन मेन्यू के साथ इंटरैक्ट कर रहा होता है, तब ऐप्लिकेशन सिर्फ़ हेड ट्रैकिंग इवेंट का जवाब देगा. XR Hands पैकेज यह पता लगा सकता है कि उपयोगकर्ता कब कोई खास कार्रवाई करता है. जैसे, इस सिस्टम नेविगेशन मेन्यू से इंटरैक्ट करना. AimFlags, SystemGesture, और DominantHand की जांच करने से आपको यह पता चलता है कि सिस्टम ने यह कार्रवाई कब की. AimFlags के बारे में ज़्यादा जानकारी के लिए, Unity का Enum MetaAimFlags दस्तावेज़ देखें.

XR Interaction Toolkit

XR Interaction Toolkit पैकेज, VR और AR अनुभव बनाने के लिए, कॉम्पोनेंट पर आधारित एक इंटरैक्शन सिस्टम है. यह एक ऐसा फ़्रेमवर्क उपलब्ध कराता है जिसकी मदद से, Unity के इनपुट इवेंट से 3D और यूज़र इंटरफ़ेस (यूआई) इंटरैक्शन उपलब्ध कराए जा सकते हैं. यह हैप्टिक फ़ीडबैक, विज़ुअल फ़ीडबैक, और लोकोमोशन जैसे इंटरैक्शन टास्क के साथ काम करता है.


OpenXR™ और OpenXR लोगो, The Khronos Group Inc. के ट्रेडमार्क हैं. इन्हें चीन, यूरोपियन यूनियन, जापान, और यूनाइटेड किंगडम में ट्रेडमार्क के तौर पर रजिस्टर किया गया है.