इस गाइड में, 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 पैकेज
- Unity के लिए Android XR एक्सटेंशन
- सुविधाएं और साथ काम करने की क्षमता से जुड़ी ज़रूरी बातें
- इनपुट और इंटरैक्शन
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 मैनुअल में इनके बारे में जानकारी होती है:
- XR प्लग-इन उपलब्ध कराने वाली कंपनियां. इनमें Unity OpenXR: Android XR और Unity के लिए Android XR एक्सटेंशन शामिल हैं
- ऐप्लिकेशन लेवल पर अतिरिक्त सुविधाएं जोड़ने के लिए, एक्सआर सपोर्ट पैकेज
- XR आर्किटेक्चर गाइड, जिसमें Unity XR टेकस्टैक और XR सबसिस्टम के बारे में बताया गया है
- एक्सआर प्रोजेक्ट सेट अप करना
- 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 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 पैकेज, इसे लागू करने की सुविधा देता है. इस पैकेज का इस्तेमाल शुरू करने के लिए, पैकेज का मैन्युअल देखें. इसमें 'शुरूआत करने से जुड़ी गाइड' शामिल है.
Unity के लिए Android XR एक्सटेंशन
Android XR Extensions for Unity, Unity OpenXR Android XR पैकेज के साथ काम करता है. इसमें इमर्सिव अनुभव बनाने में आपकी मदद करने के लिए, अतिरिक्त सुविधाएं शामिल हैं. इसका इस्तेमाल अकेले या Unity OpenXR Android XR पैकेज के साथ किया जा सकता है.
इस पैकेज का इस्तेमाल शुरू करने के लिए, प्रोजेक्ट सेटअप करने की हमारी गाइड पढ़ें या Android XR Extensions for Unity को इंपोर्ट करने के लिए क्विकस्टार्ट गाइड देखें.
सुविधाएं और साथ काम करने की क्षमता से जुड़ी ज़रूरी बातें
यहां दी गई टेबल में, Unity OpenXR के साथ काम करने वाली सुविधाओं के बारे में बताया गया है: Android XR पैकेज और Unity के लिए Android XR एक्सटेंशन पैकेज. इसका इस्तेमाल यह पता लगाने के लिए किया जा सकता है कि आपकी ज़रूरत की सुविधाएं किस पैकेज में हैं और किन बातों का ध्यान रखना है.
सुविधा |
Unity OpenXR: Android XR की सुविधा स्ट्रिंग |
Unity के लिए Android XR एक्सटेंशन की सुविधा स्ट्रिंग |
इस्तेमाल के उदाहरण और उम्मीद के मुताबिक व्यवहार |
---|---|---|---|
Android XR: एआर सेशन
|
Android XR (एक्सटेंशन): सेशन मैनेजमेंट
|
किसी भी पैकेज की सुविधाओं का इस्तेमाल करने के लिए, आपको उस पैकेज के लिए एआर सेशन की सुविधा चालू करनी होगी. दोनों सुविधा सेट को एक साथ चालू किया जा सकता है. अलग-अलग सुविधाएं, विवादों को अपने हिसाब से मैनेज करेंगी. |
|
लागू नहीं |
लागू नहीं |
डिवाइस ट्रैकिंग का इस्तेमाल, डिवाइस की पोज़िशन और फ़िज़िकल स्पेस में रोटेशन को ट्रैक करने के लिए किया जाता है. XR Origin GameObject, डिवाइस ट्रैकिंग को अपने-आप मैनेज करता है. साथ ही, XROrigin कॉम्पोनेंट और GameObject के क्रम का इस्तेमाल करके, ट्रैक किए जा सकने वाले ऑब्जेक्ट को Unity के कोऑर्डिनेट सिस्टम में बदलता है. इसमें कैमरा और TrackedPoseDriver शामिल होता है. |
|
Android XR: एआर कैमरा |
लागू नहीं |
इस सुविधा में, लाइट का अनुमान लगाने और फ़ुल स्क्रीन पासथ्रू की सुविधा मिलती है. |
|
Android XR: एआर प्लैन |
Android XR (एक्सटेंशन): प्लेन |
ये दोनों सुविधाएं एक जैसी हैं. इनमें से किसी एक का इस्तेमाल करें. Android XR (एक्सटेंशन): इसमें Plane शामिल है, ताकि डेवलपर Android XR (एक्सटेंशन): ऑब्जेक्ट ट्रैकिंग और परसिस्टेंट ऐंकर की सुविधाओं का इस्तेमाल कर सकें. इसके लिए, उन्हें Unity OpenXR Android XR पैकेज पर निर्भर रहने की ज़रूरत नहीं होगी. आने वाले समय में, Android XR (एक्सटेंशन): प्लेन को हटा दिया जाएगा. इसके बजाय, Android XR: एआर ऐंकर का इस्तेमाल किया जाएगा. |
|
लागू नहीं |
Android XR (एक्सटेंशन): ऑब्जेक्ट ट्रैकिंग |
इस सुविधा की मदद से, आस-पास की चीज़ों का पता लगाया जा सकता है और उन्हें ट्रैक किया जा सकता है. इसका इस्तेमाल, रेफ़रंस ऑब्जेक्ट लाइब्रेरी के साथ किया जाता है. |
|
Android XR: एआर फ़ेस
|
Android XR: चेहरा ट्रैक करने की सुविधा
|
Android XR: एआर फ़ेस सुविधा के ज़रिए, अवतार की आंखों को कंट्रोल करने की सुविधा मिलती है. Android XR: Face Tracking सुविधा के ज़रिए, उपयोगकर्ता के चेहरे के हाव-भाव ऐक्सेस करना. इन दोनों सुविधाओं का इस्तेमाल एक साथ किया जा सकता है. |
|
Android XR: AR Raycast
|
लागू नहीं |
इस सुविधा की मदद से, किसी किरण को कास्ट किया जा सकता है. साथ ही, उस किरण और फ़िज़िकल एनवायरमेंट में पता लगाए गए प्लेन ट्रैक करने लायक ऑब्जेक्ट या डेप्थ ट्रैक करने लायक ऑब्जेक्ट के बीच के इंटरसेक्शन का हिसाब लगाया जा सकता है. |
|
Android XR: एआर ऐंकर |
Android XR (एक्सटेंशन): ऐंकर
|
दोनों सुविधाओं में, स्पैटियल ऐंकर और प्लेन ऐंकर के लिए सहायता शामिल है. इनमें से किसी एक सुविधा का इस्तेमाल करें. परसिस्टेंट ऐंकर के लिए, Android XR (एक्सटेंशन): ऐंकर का इस्तेमाल करें. आने वाले समय में, Android XR (एक्सटेंशन): ऐंकर को हटा दिया जाएगा. साथ ही, ऐंकर की सभी सुविधाएं Android XR: एआर ऐंकर में शामिल कर दी जाएंगी. |
|
Android XR: एआर ऑक्लूज़न
|
लागू नहीं |
ऑक्लूज़न की सुविधा की मदद से, आपके ऐप्लिकेशन में मौजूद मिक्स्ड रिएलिटी कॉन्टेंट को, असल दुनिया के ऑब्जेक्ट के पीछे छिपाया जा सकता है या उसे कुछ हद तक धुंधला किया जा सकता है. |
|
परफ़ॉर्मेंस मेट्रिक |
Android XR की परफ़ॉर्मेंस मेट्रिक |
लागू नहीं |
इस सुविधा का इस्तेमाल करके, Android XR डिवाइसों की परफ़ॉर्मेंस मेट्रिक ऐक्सेस करें. |
कंपोज़िशन लेयर की सुविधा (इसके लिए, OpenXR प्लगिन और XR कंपोज़िशन लेयर ज़रूरी है) |
Android XR: पासथ्रू कंपोज़िशन लेयर
|
Unity में कंपोज़िशन लेयर की सुविधा का इस्तेमाल करके, बुनियादी कंपोज़िशन लेयर बनाएं. जैसे, क्वाड, सिलेंडर, प्रोजेक्शन. Android XR: पासथ्रू कंपोज़िशन लेयर का इस्तेमाल करके, कस्टम मेश वाली पासथ्रू लेयर बनाई जा सकती है. यह 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 को ट्रैक करता है. इसमें बदलाव किया जा सकता है. |
|
लागू नहीं |
एनवायरमेंट ब्लेंड मोड |
इस सुविधा की मदद से, XR एनवायरमेंट ब्लेंड मोड सेट किया जा सकता है. इससे यह कंट्रोल किया जा सकता है कि पास-थ्रू मोड चालू होने पर, वर्चुअल इमेज असल दुनिया के एनवायरमेंट के साथ कैसे ब्लेंड होती है. |
इनपुट और इंटरैक्शन
Android XR में, कई तरह के नैचुरल इनपुट का इस्तेमाल किया जा सकता है.
इसमें हाथ और आंखों को ट्रैक करने के साथ-साथ, 6DoF कंट्रोलर, माउस, और फ़िज़िकल कीबोर्ड जैसे सहायक डिवाइसों का इस्तेमाल भी किया जा सकता है. इसका मतलब है कि Android XR के लिए बने ऐप्लिकेशन में, हाथ के जेस्चर (हाव-भाव) से इंटरैक्ट करने की सुविधा होनी चाहिए. यह नहीं माना जा सकता कि सभी डिवाइसों में कंट्रोलर होंगे.
इंटरैक्शन प्रोफ़ाइलें
Unity, इंटरैक्शन प्रोफ़ाइल का इस्तेमाल करता है. इससे यह मैनेज किया जाता है कि आपका XR ऐप्लिकेशन, अलग-अलग XR डिवाइसों और प्लैटफ़ॉर्म के साथ कैसे कम्यूनिकेट करता है. इन प्रोफ़ाइलों से, अलग-अलग हार्डवेयर कॉन्फ़िगरेशन के लिए अनुमानित इनपुट और आउटपुट तय किए जाते हैं. इससे, अलग-अलग प्लैटफ़ॉर्म पर कंपैटिबिलिटी और एक जैसी फ़ंक्शनैलिटी को बढ़ावा मिलता है. इंटरैक्शन प्रोफ़ाइलें चालू करके, यह पक्का किया जा सकता है कि आपका एक्सआर ऐप्लिकेशन अलग-अलग डिवाइसों पर ठीक से काम करे, इनपुट मैपिंग को एक जैसा बनाए रखे, और उसके पास एक्सआर की खास सुविधाओं का ऐक्सेस हो. इंटरैक्शन प्रोफ़ाइल सेट करने के लिए:
- प्रोजेक्ट सेटिंग विंडो खोलें (मेन्यू: बदलाव करें > प्रोजेक्ट सेटिंग).
- अगर ज़रूरी हो, तो प्लग-इन सेक्शन को बड़ा करने के लिए, XR प्लग-इन मैनेजमेंट पर क्लिक करें.
- एक्सआर प्लग-इन की सूची में, OpenXR को चुनें.
- इंटरैक्शन प्रोफ़ाइलें सेक्शन में, प्रोफ़ाइल जोड़ने के लिए + बटन चुनें.
- सूची से वह प्रोफ़ाइल चुनें जिसे जोड़ना है.
हाथ के मूवमेंट से इंटरैक्ट करने की सुविधा
हाथ के जेस्चर (XR_EXT_hand_interaction
) की सुविधा OpenXR प्लगिन से मिलती है. साथ ही, हाथ के जेस्चर की सुविधा वाली प्रोफ़ाइल को चालू करके, <HandInteraction>
डिवाइस लेआउट को Unity Input System में दिखाया जा सकता है. इस इंटरैक्शन प्रोफ़ाइल का इस्तेमाल, हाथ के इनपुट के लिए करें. यह 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_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 पैकेज, कॉम्पोनेंट पर आधारित एक हाई-लेवल इंटरैक्शन सिस्टम है. इसका इस्तेमाल वीआर और एआर अनुभव बनाने के लिए किया जाता है. यह एक फ़्रेमवर्क उपलब्ध कराता है. इससे Unity के इनपुट इवेंट से 3D और यूज़र इंटरफ़ेस (यूआई) इंटरैक्शन उपलब्ध होते हैं. यह हैप्टिक फ़ीडबैक, विज़ुअल फ़ीडबैक, और लोकोमोशन जैसे इंटरैक्शन टास्क के साथ काम करता है.
OpenXR™ और OpenXR लोगो, The Khronos Group Inc. के ट्रेडमार्क हैं. इन्हें चीन, यूरोपियन यूनियन, जापान, और यूनाइटेड किंगडम में ट्रेडमार्क के तौर पर रजिस्टर किया गया है.