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

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

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_unbounded_reference_space

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

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

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


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