काम करने वाले OpenXR एक्सटेंशन के साथ बनाए गए ऐप्लिकेशन

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

Android XR, OpenXR 1.1 स्पेसिफ़िकेशन और तीसरे पक्ष के वेंडर एक्सटेंशन की लंबी सूची के ज़रिए OpenXR को सपोर्ट करता है. इन एक्सटेंशन का इस्तेमाल करने से, आपको एक्सआर के लिए डेवलपमेंट करते समय वही जाना-पहचाना अनुभव मिलता है. इनमें से कुछ सुविधाओं के लिए, Android रनटाइम की अनुमतियों की ज़रूरत होती है. अगर आपको सीधे तौर पर OpenXR API पर काम करना है, तो आपको ज़रूरी हेडर फ़ाइलें jetpack-xr-natives रिपॉज़िटरी में मिल सकती हैं.

Android XR वेंडर एक्सटेंशन

एक्सटेंशन का नाम

ब्यौरा

XR_ANDROID_composition_layer_passthrough_mesh

इस अनुमति से ऐप्लिकेशन, कंपोज़िशन लेयर के ज़रिए किसी भी ज्यामिति पर पासथ्रू टेक्सचर प्रोजेक्ट कर सकता है. इस एक्सटेंशन के लिए android.permission.SCENE_UNDERSTANDING_COARSE की ज़रूरत है.

XR_ANDROID_depth_texture

यह ऑक्लूज़न, हिट टेस्ट, और अन्य खास कामों के लिए रॉ और स्मूद डेप्थ की जानकारी देता है. इन कामों में सीन की सटीक ज्यामिति का इस्तेमाल किया जाता है. जैसे, नकली चेहरे का पता लगाना. यह मौजूदा कैमरा/आंखों के पोज़ से, सीन की कम रिज़ॉल्यूशन वाली डेप्थ टेक्सचर और कॉन्फ़िडेंस वैल्यू देता है. इस एक्सटेंशन के लिए android.permission.SCENE_UNDERSTANDING_FINE की ज़रूरत है.

XR_ANDROID_device_anchor_persistence

इस कुकी की मदद से, ऐप्लिकेशन को मौजूदा डिवाइस पर ऐंकर सेव करने, उन्हें वापस पाने, और उन्हें हटाने की अनुमति मिलती है. ऐसा अलग-अलग ऐप्लिकेशन और डिवाइस सेशन के दौरान किया जा सकता है. इस एक्सटेंशन के लिए android.permission.SCENE_UNDERSTANDING_COARSE की ज़रूरत है.

XR_ANDROID_eye_tracking

इससे ऐप्लिकेशन को उपयोगकर्ता की आंखों की पोज़िशन और ओरिएंटेशन की जानकारी मिलती है. इसे अवतार के लिए आंखों की पोज़ और स्टेटस को ज़्यादा असली बनाने के लिए डिज़ाइन किया गया है. आंखों को ट्रैक करने से जुड़े अन्य कामों के लिए, इस एक्सटेंशन का इस्तेमाल न करें. इंटरैक्शन के लिए, इसके बजाय XR_EXT_eye_gaze_interaction का इस्तेमाल किया जाना चाहिए. इस एक्सटेंशन के लिए android.permission.EYE_TRACKING_COARSE या android.permission.EYE_TRACKING_FINE की ज़रूरत है.

XR_ANDROID_face_tracking

इस अनुमति से ऐप्लिकेशन को ब्लेंड शेप के वेट पाने और एक्सआर अनुभवों में चेहरे के हाव-भाव रेंडर करने की अनुमति मिलती है. इस एक्सटेंशन के लिए android.permission.FACE_TRACKING की ज़रूरत है.

XR_ANDROID_hand_mesh

इससे हाथ के मूवमेंट को ट्रैक करने की सुविधा चालू होती है. इसे डाइनैमिक हैंड मेश के तौर पर दिखाया जाता है. इस एक्सटेंशन का मकसद, उपयोगकर्ता के हाथों के हिसाब से बनाए गए मेश के लिए वर्टेक्स और इंडेक्स बफ़र उपलब्ध कराना है. हाथ की उंगलियों के जोड़ों को ट्रैक करने के लिए XR_EXT_hand_tracking का इस्तेमाल किया जाता है. वहीं, इंटरैक्शन के लिए XR_EXT_hand_interaction का इस्तेमाल किया जाता है. इस एक्सटेंशन के लिए android.permission.HAND_TRACKING की ज़रूरत है.

XR_ANDROID_light_estimation

यह उपयोगकर्ता के मौजूदा एनवायरमेंट की रोशनी का अनुमान लगाता है. इसमें स्फ़ेरिकल हार्मोनिक्स भी शामिल हैं. इस एक्सटेंशन की मदद से, ऐप्लिकेशन को हेडसेट के आस-पास के माहौल की रोशनी के डेटा का अनुरोध करने की अनुमति मिलती है. इस जानकारी का इस्तेमाल, वर्चुअल ऑब्जेक्ट को रेंडर करते समय किया जा सकता है. इससे उन्हें उसी तरह से रौशनी में दिखाया जा सकता है जिस तरह से उन्हें सीन में रखा गया है. इस एक्सटेंशन के लिए android.permission.SCENE_UNDERSTANDING_COARSE की ज़रूरत है.

XR_ANDROID_mouse_interaction

इस एक्सटेंशन में एक नई इंटरैक्शन प्रोफ़ाइल जोड़ी गई है. इसे खास तौर पर माउस डिवाइसों के लिए डिज़ाइन किया गया है, ताकि OpenXR ऐक्शन सिस्टम के ज़रिए इनपुट दिया जा सके. इससे उपयोगकर्ता की माउस प्रोफ़ाइलों के लिए, आम तौर पर इस्तेमाल की जाने वाली ऐक्शन पोज़ का इस्तेमाल किया जा सकता है. इनमें माउस और ट्रैकपैड, दोनों तरह के डिवाइस शामिल हैं. इसे 3D स्पेस में माउस पॉइंटर की मदद से ऑब्जेक्ट के साथ इंटरैक्ट करने के लिए डिज़ाइन किया गया है. उदाहरण के लिए, दीवार पर मौजूद किसी वर्चुअल बटन पर निशाना लगाने के लिए वर्चुअल लेज़र पॉइंटर का इस्तेमाल करना, "निशाना लगाना" पोज़ के लिए सही इंटरैक्शन है.

XR_ANDROID_passthrough_camera_state

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

XR_ANDROID_performance_metrics

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

XR_ANDROID_raycast

इस एक्सटेंशन की मदद से ऐप्लिकेशन, एनवायरमेंट में मौजूद ट्रैक किए जा सकने वाले ऑब्जेक्ट के लिए रेकास्ट कर सकता है. इस एक्सटेंशन के लिए android.permission.SCENE_UNDERSTANDING_COARSE की ज़रूरत है.

XR_ANDROID_scene_meshing

इससे ऐप्लिकेशन को, असल दुनिया के माहौल का सिमैंटिक 3D मेश रीयल-टाइम में पाने की अनुमति मिलती है. इस एक्सटेंशन के लिए android.permission.SCENE_UNDERSTANDING_FINE की ज़रूरत है.

XR_ANDROID_trackables

इस एक्सटेंशन की मदद से, ऐप्लिकेशन को फ़िज़िकल एनवायरमेंट से ट्रैक किए जा सकने वाले ऑब्जेक्ट, जैसे कि हवाई जहाज़ ऐक्सेस करने की अनुमति मिलती है. साथ ही, यह ट्रैक किए जा सकने वाले ऑब्जेक्ट से जुड़े ऐंकर बनाने की अनुमति भी देता है. इस एक्सटेंशन के लिए android.permission.SCENE_UNDERSTANDING_COARSE की ज़रूरत है.

XR_ANDROID_trackables_object

इस सुविधा की मदद से, किसी सीन में कीबोर्ड और माउस जैसे फ़िज़िकल ऑब्जेक्ट को ट्रैक किया जा सकता है. इस एक्सटेंशन के लिए android.permission.SCENE_UNDERSTANDING_COARSE की ज़रूरत है.

XR_ANDROID_trackables_qr_code

यह कुकी, फ़िज़िकल क्यूआर कोड को ट्रैक करने और क्यूआर कोड के डेटा को डिकोड करने की सुविधा चालू करती है. इस एक्सटेंशन के लिए android.permission.SCENE_UNDERSTANDING की ज़रूरत है.

XR_ANDROID_unbounded_reference_space

यह एक ऐसा रेफ़रंस स्पेस उपलब्ध कराता है जिसकी कोई सीमा नहीं होती. इसका इस्तेमाल समय के साथ बेहतर सीन समझने के लिए किया जा सकता है. इस रेफ़रंस स्पेस की मदद से, दर्शक किसी जटिल एनवायरमेंट में आसानी से घूम सकते हैं. वे अक्सर उस जगह से कई मीटर दूर होते हैं जहां से उन्होंने शुरुआत की थी. साथ ही, यह हमेशा दर्शक के आस-पास के कोऑर्डिनेट सिस्टम की स्थिरता को ऑप्टिमाइज़ करता है.

अन्य एक्सटेंशन जिनका इस्तेमाल किया जा सकता है

ये अतिरिक्त एक्सटेंशन भी काम करते हैं. जानकारी बाहरी साइटों पर मौजूद है.


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