Samsung Galaxy XR लॉन्च हो गया है. यह Android XR पर काम करता है! यह ब्लॉग पोस्ट, Android XR Spotlight Week का हिस्सा है. इसमें हम आपको कई तरह के संसाधन उपलब्ध कराते हैं. जैसे, ब्लॉग पोस्ट, वीडियो, सैंपल कोड वगैरह. इन सभी संसाधनों को इस तरह से डिज़ाइन किया गया है कि आपको Android XR के बारे में जानने, इसके लिए ऐप्लिकेशन बनाने, और अपने ऐप्लिकेशन तैयार करने में मदद मिल सके.
XR डेवलपमेंट में शामिल होने का इससे बेहतर समय कभी नहीं रहा. पिछले साल दिसंबर में, हमने Android XR का एलान किया था. यह Google का नया Android प्लैटफ़ॉर्म है. इसे OpenXR और Vulkan जैसे ओपन स्टैंडर्ड के आधार पर बनाया गया है. इससे, एक्सआर डेवलपमेंट को पहले से ज़्यादा ऐक्सेस किया जा सकता है.
साथ ही, Unity के मौजूदा XR टूल के साथ इसका इस्तेमाल करने पर, आपको एक बेहतरीन और बेहतर डेवलपमेंट स्टैक मिलता है. इससे ऐसे XR ऐप्लिकेशन बनाए और डिप्लॉय किए जा सकते हैं जो कई डिवाइसों पर काम करते हैं.
चाहे आपने पहले कभी XR डेवलपमेंट किया हो या नहीं, हम आपकी मदद करना चाहते हैं.
इस ब्लॉग से, आपको Android XR और Unity डेवलपमेंट के बारे में जानकारी मिलेगी. हम आपके एनवायरमेंट को कॉन्फ़िगर करने, पैकेज के इकोसिस्टम को समझने, और बनाना शुरू करने के लिए व्यावहारिक चरणों पर फ़ोकस करेंगे.
इस ब्लॉग के आखिर तक, आपको इन चीज़ों के बारे में अच्छी तरह से पता चल जाएगा:
- पैकेज नेटवर्क
- सेटअप के लिए ज़रूरी चरण
- इनपुट के तरीके
- निजता और अनुमतियां
- कंपोज़िशन लेयर
Android XR के लिए Unity डेवलपमेंट
Unity को इसलिए चुना जा सकता है, क्योंकि यह अलग-अलग प्लैटफ़ॉर्म पर काम करता है. इससे आपको एक बार बिल्ड बनाने और उसे Android XR और अन्य XR डिवाइसों पर डिप्लॉय करने की सुविधा मिलती है.
Unity का इस्तेमाल करने पर, आपको इसके मैच्योर XR इकोसिस्टम और टूलिंग का फ़ायदा मिलता है. इसमें पहले से ही कई पैकेज उपलब्ध हैं. जैसे, XR Interaction Toolkit, OpenXR plugin, XR composition layers, XR Hands, और ऐसेट स्टोर में XR के लिए तैयार कॉम्पोनेंट और टेंप्लेट का बड़ा कलेक्शन. साथ ही, इसमें XR सिमुलेशन और टेस्टिंग टूल भी उपलब्ध हैं. Unity 6 को पिछले नवंबर में रिलीज़ किया गया था. इसलिए, आपको इसकी बेहतर यूनिवर्सल रेंडर पाइपलाइन (यूआरपी) परफ़ॉर्मेंस, बेहतर Vulkan ग्राफ़िक्स सपोर्ट, और बेहतर बिल्ड प्रोफ़ाइलों का फ़ायदा भी मिलेगा.
यहां कुछ सैंपल प्रोजेक्ट दिए गए हैं, ताकि आपको यह पता चल सके कि क्या-क्या किया जा सकता है:
ज़रूरी सेटअप: डेवलपमेंट की बुनियादी बातें
Unity 6 की ज़रूरी शर्तें और इसे इंस्टॉल करने का तरीका
ऐप्लिकेशन बनाने के लिए, आपको Unity 6 की ज़रूरत होगी. ऐसा इसलिए, क्योंकि इससे पहले के वर्शन, Android XR के साथ काम नहीं करते. सबसे पहले, Unity Hub इंस्टॉल करें. इसके बाद, Android Build Support मॉड्यूल के साथ Unity 6 इंस्टॉल करें. इसके लिए, यह तरीका अपनाएं.
Android XR की बिल्ड प्रोफ़ाइलें: कॉन्फ़िगरेशन को आसान बनाना
Unity की बिल्ड प्रोफ़ाइलें, प्रोजेक्ट की ऐसी ऐसेट होती हैं जिनमें प्लैटफ़ॉर्म के हिसाब से आपकी सेटिंग और कॉन्फ़िगरेशन सेव होते हैं. इसलिए, अलग-अलग मेन्यू में 15 से 20 सेटिंग को मैन्युअल तरीके से सेट अप करने के बजाय, बिल्ड प्रोफ़ाइल का इस्तेमाल करके इसे अपने-आप किया जा सकता है.
आपके पास अपनी बिल्ड प्रोफ़ाइल बनाने का विकल्प होता है. हालांकि, फ़िलहाल हमारा सुझाव है कि आप Android XR के लिए बनाई गई बिल्ड प्रोफ़ाइल का इस्तेमाल करें.
Unity प्रोजेक्ट में, फ़ाइल > बिल्ड प्रोफ़ाइल को चुनकर, अपनी बिल्ड प्रोफ़ाइल चुनी जा सकती है. पूरी जानकारी के लिए, Android XR के लिए ऐप्लिकेशन डेवलप करना वर्कफ़्लो पेज देखें.
अगर आपने कोई बदलाव किया है, तो अपनी टीम के साथ शेयर करने के लिए, नई बिल्ड प्रोफ़ाइल बनाई जा सकती है. इस तरह, यह पक्का किया जा सकता है कि सभी डिवाइसों पर एक जैसा बिल्ड अनुभव मिले.
यह तरीका अपनाने के बाद, Android XR डिवाइसों के लिए अपना APK बनाया और चलाया जा सकता है.
Graphics API: Vulkan क्यों ज़रूरी है
Android XR बिल्ड प्रोफ़ाइल के साथ Unity प्रोजेक्ट सेट अप करने के बाद, हमारा सुझाव है कि आप सबसे पहले यह पक्का करें कि आपने Vulkan को ग्राफ़िक्स एपीआई के तौर पर सेट किया हो. Android XR को Vulkan-first प्लैटफ़ॉर्म के तौर पर बनाया गया है. मार्च 2025 में, Google ने एलान किया था कि Vulkan अब Android के लिए आधिकारिक ग्राफ़िक्स एपीआई है. यह एक आधुनिक, लो-लेवल ग्राफ़िक्स एपीआई है. इससे डेवलपर को आधुनिक जीपीयू की परफ़ॉर्मेंस को बेहतर बनाने में मदद मिलती है. साथ ही, यह रे-ट्रेसिंग और मल्टीथ्रेडिंग जैसी बेहतर सुविधाएं उपलब्ध कराता है. इससे गेमिंग के विज़ुअल ज़्यादा रियलिस्टिक और इमर्सिव होते हैं.
ये स्टैंडर्ड, आपके मौजूदा ऐप्लिकेशन के साथ सबसे अच्छी तरह काम करते हैं. साथ ही, पोर्ट करने से जुड़ी समस्याओं और लागत को कम करते हैं. इससे Android XR की ऐडवांस सुविधाओं को चालू किया जा सकता है. जैसे, यूआरपी ऐप्लिकेशन स्पेस वॉर्प और फ़ोविएटेड रेंडरिंग.
Unity 6, Vulkan को अपने-आप मैनेज करता है. इसलिए, Android XR बिल्ड प्रोफ़ाइल का इस्तेमाल करने पर, Unity, Vulkan को आपके ग्राफ़िक्स एपीआई के तौर पर कॉन्फ़िगर करेगा. इससे यह पक्का होता है कि आपको Android XR की सभी ऐडवांस सुविधाओं का ऐक्सेस मिले. इसके लिए, आपको मैन्युअल तरीके से कॉन्फ़िगरेशन करने की ज़रूरत नहीं होती.
ग्राफ़िक्स एपीआई की सेटिंग की पुष्टि करने के लिए, ‘बदलाव करें’ > ‘प्रोजेक्ट की सेटिंग’ > ‘प्लेयर’ > ‘Android टैब’ > ‘अन्य सेटिंग’ > ‘ग्राफ़िक्स एपीआई’ पर जाएं.
पैकेज के इकोसिस्टम के बारे में जानकारी
Unity में Android XR के लिए, दो अलग-अलग पैकेज इस्तेमाल किए जा सकते हैं. पहला तरीका, Unity के लिए Android XR एक्सटेंशन का इस्तेमाल करना है. दूसरा तरीका, Unity OpenXR: Android XR पैकेज का इस्तेमाल करना है.
ये दोनों एक जैसी लग सकती हैं, लेकिन इनमें अंतर है.
Unity OpenXR: Android XR पैकेज, Android XR के साथ काम करने वाला आधिकारिक Unity पैकेज है. इसमें Android XR की ज़्यादातर सुविधाएं मिलती हैं. ये सुविधाएं, OpenXR स्टैंडर्ड के ज़रिए उपलब्ध कराई जाती हैं. यह मिक्स्ड रिएलिटी की सुविधाओं के लिए, AR Foundation इंटिग्रेशन को भी चालू करता है. Unity OpenXR: Android XR पैकेज का इस्तेमाल करने का मुख्य फ़ायदा यह है कि यह एक्सआर डिवाइसों के साथ काम करने के लिए, एक यूनिफ़ाइड एपीआई उपलब्ध कराता है.
वहीं, Android XR Extensions for Unity, Google का एक्सआर पैकेज है. इसे खास तौर पर Android XR डिवाइसों के लिए ऐप्लिकेशन बनाने के लिए डिज़ाइन किया गया है. यह Unity OpenXR पैकेज में, एनवायरमेंट ब्लेंड मोड, सीन मेशिंग, इमेज ट्रैकिंग, और बॉडी ट्रैकिंग जैसी अतिरिक्त सुविधाएँ जोड़ता है. हालांकि, इसका नुकसान यह है कि सिर्फ़ Android XR डिवाइसों के लिए ऐप्लिकेशन डेवलप किए जा सकते हैं.
इनमें से कौनसी सुविधा चुननी है, यह आपकी ज़रूरतों पर निर्भर करेगा. हालांकि, हमारा सुझाव है कि आप Unity OpenXR: Android XR को चुनें. इससे आपको यह तय करने में ज़्यादा आसानी होगी कि आपका ऐप्लिकेशन किन डिवाइसों के साथ काम करेगा. इसके बाद, अपने ऐप्लिकेशन की ज़रूरी शर्तों के आधार पर, Unity के लिए Android XR एक्सटेंशन जोड़े जा सकते हैं.
पैकेज इंस्टॉल करने का तरीका
नया पैकेज जोड़ने के लिए, Unity में अपना प्रोजेक्ट खोलें. इसके बाद, ‘Window’ > ‘Package Management’ > ‘Package Manager’ चुनें.
यहां से, ‘Unity Registry’ टैब में जाकर इन पैकेज को इंस्टॉल किया जा सकता है:
Github के ज़रिए Android XR for Unity पैकेज इंस्टॉल किया जा सकता है. इसके लिए, ➕ आइकॉन चुनें. इसके बाद, ‘Install package from git URL’ चुनें. इसके बाद, ‘https://github.com/android/android-xr-unity-package.git’ डालें
OpenXR की ज़रूरी सुविधाएं
अब आपके पास ज़रूरी पैकेज इंस्टॉल हो गए हैं. आइए, अपने प्रोजेक्ट को काम करने के लिए कुछ मुख्य सुविधाएं चालू करें.
Android के लिए OpenXR सेटिंग चालू की जा सकती है: ‘बदलाव करें’ -> ‘प्रोजेक्ट सेटिंग’ -> ‘XR प्लगिन मैनेजमेंट’ -> Android पर क्लिक करें और OpenXR चालू करें
इसके बाद, हमें इन सुविधाओं के लिए सहायता चालू करनी होगी: ‘Android XR के साथ काम करने की सुविधा’. हम OpenXR की अन्य सुविधाओं के बारे में तब बताएंगे, जब हमें उनकी ज़रूरत होगी. फ़िलहाल, हमें सिर्फ़ Android XR के साथ काम करने की सुविधा चालू करनी है.
टेक्स्ट लिखो
Android XR, हाथों के हाव-भाव, आवाज़, आंखों के मूवमेंट को ट्रैक करने, कीबोर्ड, और कंट्रोलर से मिले इनपुट को सपोर्ट करता है. हमारा सुझाव है कि आप XR Interaction Toolkit और XR Hands इंस्टॉल करें. इनमें शुरू करने के लिए सबसे अच्छे प्रीफ़ैब शामिल हैं. इन प्रीफ़ैब का इस्तेमाल करके, आपको अपने ऐप्लिकेशन में हाथों और कंट्रोलर को सपोर्ट करने के लिए ज़रूरी सभी चीज़ें मिलेंगी.
XR Hands और XR Interactive टूलकिट, दोनों इंस्टॉल हो जाने के बाद, हमारा सुझाव है कि आप स्टार्टर ऐसेट और Hands Interaction Demo को इंपोर्ट करें. इसके बाद, आपको हाथ के इंटरैक्शन और Khronos Simple Controller प्रोफ़ाइलें चालू करनी होंगी. साथ ही, हाथ के मूवमेंट को ट्रैक करने वाला सबसिस्टम और Meta के हाथ के मूवमेंट को ट्रैक करने की सुविधा चालू करनी होगी.
इन सेटिंग में बदलाव करने के लिए, ‘बदलाव करें’ > ‘प्रोजेक्ट सेटिंग’ > XR प्लग-इन मैनेजमेंट’ > ‘OpenXR’ पर जाएं
हम Unity के प्रीफ़ैब, XR Origin का इस्तेमाल करने का भी सुझाव देते हैं. यह XR स्पेस में उपयोगकर्ता की पोज़िशन और ओरिएंटेशन को दिखाता है. इसमें कैमरा रिग और ट्रैकिंग कॉम्पोनेंट शामिल होते हैं. इनकी मदद से, XR अनुभव को सही व्यूपॉइंट से रेंडर किया जा सकता है.
इस प्रीफ़ैब को जोड़ने का सबसे आसान तरीका यह है कि इसे हाथों के इंटिग्रेशन के उस डेमो से इंपोर्ट करें जिसे हमने पहले इंपोर्ट किया था. यह डेमो यहां ‘Hands Integration Toolkit’ > ’Hand Interaction’ > ’Prefabs’ > ’XR Origin’ पर मौजूद है
हमारा सुझाव है कि आप अपने गेम ऑब्जेक्ट में ‘XR Origin’ विकल्प के बजाय, इस प्रीफ़ैब का इस्तेमाल करें. ऐसा इसलिए, क्योंकि यह XR Input Modality Manager का इस्तेमाल करता है. इससे, उपयोगकर्ताओं के हाथों और कंट्रोलर के बीच अपने-आप स्विच हो जाता है. इससे आपको हाथों और कंट्रोलर के बीच स्विच करने में आसानी होगी.
निजता और अनुमतियां: उपयोगकर्ताओं का भरोसा जीतना
आपको जो भी बनाना है उसके लिए, उपयोगकर्ताओं से रनटाइम की अनुमतियां लेनी होंगी. ऐसा इसलिए है, क्योंकि सीन को समझने, आंखों को ट्रैक करने, चेहरे को ट्रैक करने, और हाथों को ट्रैक करने की सुविधा से ऐसे डेटा को ऐक्सेस किया जा सकता है जो उपयोगकर्ता के लिए ज़्यादा संवेदनशील हो सकता है.
ये सुविधाएं, डेस्कटॉप या मोबाइल ऐप्लिकेशन की तुलना में ज़्यादा निजी जानकारी इकट्ठा करती हैं. इसलिए, रनटाइम की अनुमतियों से यह पक्का किया जाता है कि आपके उपयोगकर्ताओं के पास यह तय करने का पूरा कंट्रोल हो कि उन्हें कौन-सा डेटा शेयर करना है. इसलिए, Android की सुरक्षा और निजता नीतियों का पालन करने के लिए, Android XR में इन सभी सुविधाओं के लिए अनुमतियां हैं.
उदाहरण के लिए, अगर आपको हाथ के जेस्चर को पसंद के मुताबिक बनाने के लिए XR Hands पैकेज का इस्तेमाल करना है, तो आपको हाथ की गतिविधियों को ट्रैक करने की अनुमति (नीचे देखें) का अनुरोध करना होगा. ऐसा इसलिए, क्योंकि इस पैकेज को उपयोगकर्ता के हाथों के बारे में काफ़ी जानकारी ट्रैक करनी होती है. इसमें हाथ के जोड़ों की पोज़िशन और कोणीय और रैखिक वेगों को ट्रैक करना शामिल है;
ध्यान दें: अनुमतियां पाने के लिए ज़रूरी एक्सटेंशन की पूरी सूची देखने के लिए, XR डेवलपर की वेबसाइट पर जाएं.
const string k_Permission = "android.permission.HAND_TRACKING"; #if UNITY_ANDROID void Start() { if (!Permission.HasUserAuthorizedPermission(k_Permission)) { var callbacks = new PermissionCallbacks(); callbacks.PermissionDenied += OnPermissionDenied; callbacks.PermissionGranted += OnPermissionGranted; Permission.RequestUserPermission(k_Permission, callbacks); } } void OnPermissionDenied(string permission) { // handle denied permission } void OnPermissionGranted(string permission) { // handle granted permission } #endif // UNITY_ANDROID
कंपोज़िशन लेयर की मदद से, विज़ुअल क्वालिटी को बेहतर बनाना
यूज़र इंटरफ़ेस (यूआई) एलिमेंट को रेंडर करने के लिए, कंपोज़िशन लेयर का इस्तेमाल करने का सुझाव दिया जाता है. इनकी मदद से, Unity की स्टैंडर्ड रेंडरिंग पाइपलाइन की तुलना में, एलिमेंट को बेहतर क्वालिटी में दिखाया जा सकता है. ऐसा इसलिए, क्योंकि सभी एलिमेंट सीधे तौर पर प्लैटफ़ॉर्म के कंपोज़िटर पर रेंडर किए जाते हैं.
उदाहरण के लिए, अगर आपको टेक्स्ट दिखाना है, तो स्टैंडर्ड Unity रेंडरिंग में टेक्स्ट के धुंधले होने, किनारों के हल्के होने, और विज़ुअल आर्टफ़ैक्ट होने की संभावना ज़्यादा होती है. वहीं, कंपोज़िशन लेयर की मदद से, टेक्स्ट ज़्यादा साफ़ दिखेगा, आउटलाइन ज़्यादा शार्प होंगी, और कुल मिलाकर अनुभव बेहतर होगा.
यह टेक्स्ट के साथ-साथ वीडियो, इमेज, और यूज़र इंटरफ़ेस (यूआई) एलिमेंट को भी बेहतर क्वालिटी में रेंडर करता है. यह ऐसा, कंपोज़िटर लेयर के लिए रनटाइम की नेटिव सहायता का इस्तेमाल करके करता है.
कंपोज़िशन लेयर चालू करने के लिए, Package Manager खोलें. इसके बाद, ‘Unity Register’ को चुनें. फिर, ‘XR Composition Layers’ को इंस्टॉल करें.
बनाएं और चलाएं
OpenXR पैकेज इंस्टॉल करने और सुविधाएं चालू करने के बाद, अब आपके पास हाथ और सिर की गतिविधियों के लिए प्रीफ़ैब सेटअप है. अब अपनी सीन बनाएं और सीधे अपने हेडसेट पर टेस्ट के लिए डिप्लॉय करें.
इसके बाद क्या होगा: अपनी स्किल को बेहतर बनाना
अब आपने Android XR डेवलपमेंट एनवायरमेंट सेट अप कर लिया है और आपको मुख्य कॉन्सेप्ट के बारे में पता है. इसलिए, XR डेवलपमेंट की अपनी यात्रा जारी रखने के लिए, यहां दिए गए अगले चरण पूरे करें:
लगातार सीखने के लिए ज़रूरी संसाधन:
- Android XR डेवलपर दस्तावेज़ - Android XR की सभी सुविधाओं के लिए पूरी जानकारी वाली गाइड
- Unity XR डेवलपमेंट मैनुअल - Unity के आधिकारिक XR डेवलपमेंट संसाधन
एक्सप्लोर करने के लिए सैंपल प्रोजेक्ट:
- Android XR Unity के सैंपल - Google के आधिकारिक सैंपल प्रोजेक्ट, जिनमें Android XR की अलग-अलग सुविधाएं दिखाई गई हैं
- Unity XR Interaction Toolkit के उदाहरण - एक्सआर इंटरैक्शन और गेमप्ले के तरीकों के बारे में पूरी जानकारी देने वाले उदाहरण
- Unity VR Template - वीआर प्रोजेक्ट के लिए शुरुआती पॉइंट
- वीआर मल्टीप्लेयर टेंप्लेट - सोशल एक्सआर एक्सपीरियंस एक्सप्लोर करें
पढ़ना जारी रखें
-
कैसे करें
Google को पता है कि Android उपयोगकर्ताओं के लिए, बैटरी का ज़्यादा खर्च होना एक बड़ी समस्या है. इसलिए, Google ने डेवलपर की मदद करने के लिए कई अहम कदम उठाए हैं, ताकि वे कम बैटरी खर्च करने वाले ऐप्लिकेशन बना सकें.
Alice Yuan • आठ मिनट में पढ़ें
-
कैसे करें
हम आपको डिवाइस और क्लाउड, दोनों मॉडल का इस्तेमाल करके एआई की मदद से काम करने वाली सुविधाओं के उदाहरण देना चाहते थे. साथ ही, हम आपको अपने उपयोगकर्ताओं के लिए शानदार अनुभव बनाने के लिए प्रेरित करना चाहते थे.
Thomas Ezan, Ivy Knight • दो मिनट में पढ़ें
-
कैसे करें
परफ़ॉर्मेंस लेवलिंग गाइड में पांच लेवल होते हैं. हम लेवल 1 से शुरुआत करेंगे. इसमें परफ़ॉर्मेंस टूलिंग को कम से कम इस्तेमाल करने के बारे में बताया गया है. इसके बाद, हम लेवल 5 तक जाएंगे. यह उन ऐप्लिकेशन के लिए सबसे सही है जिनके पास परफ़ॉर्मेंस फ़्रेमवर्क को बनाए रखने के लिए संसाधन हैं.
Alice Yuan • 9 मिनट में पढ़ें
अप-टू-डेट रहें
Android डेवलपमेंट से जुड़ी नई अहम जानकारी, हर हफ़्ते अपने इनबॉक्स में पाएं.