Unity में जियोस्पेशियल क्रिएटर का इस्तेमाल शुरू करना

ARCore Geospatial Creator for Unity की मदद से, Unity Editor में भौगोलिक डेटा वाले कॉन्टेंट की झलक देखी जा सकती है. इसके लिए, Google Maps के डेटा को नए 3D टाइल फ़ॉर्मैट में दिखाया जाता है. इससे आपको यह देखने में मदद मिलती है कि ऐप्लिकेशन बनाते समय, कॉन्टेंट को असली दुनिया में कहां रखा जाएगा.

Geospatial Creator, ARCore Extensions for AR Foundation का हिस्सा है. इस क्विकस्टार्ट में, आपको यह दिखाया जाएगा कि ARCore Geospatial Sample ऐप्लिकेशन में जियोस्पेशल एआर कॉन्टेंट जोड़ने के लिए, Unity में Geospatial Creator का इस्तेमाल कैसे करें.

अगर आपको Geospatial Sample की जगह किसी मौजूदा ऐप्लिकेशन का इस्तेमाल करना है, तो आपको सबसे पहले Unity के लिए Geospatial Developer गाइड में दिया गया तरीका अपनाना होगा. अगर आपका ऐप्लिकेशन Geospatial API के इस्तेमाल के लिए कॉन्फ़िगर किया गया है, तो नीचे दिए गए ज़रूरी डिपेंडेंसी जोड़ें चरण पर जाएं और वहीं से आगे बढ़ें.

ज़रूरी शर्तें

एआर का अनुभव देने वाले ऐप्लिकेशन बनाने के लिए, "ARCore Extensions for AR Foundation का इस्तेमाल शुरू करना" लेख पढ़ें. इसमें Unity एनवायरमेंट को कॉन्फ़िगर करने का तरीका बताया गया है.

ARCore Extensions, Unity के पुराने वर्शन के साथ काम करता है. हालांकि, Geospatial Creator के लिए Unity 2021.3 या उसके बाद के वर्शन की ज़रूरत होती है.

एपीआई की अनुमति

ARCore Geospatial API और Google Map Tiles API का इस्तेमाल करने के लिए, आपको एपीआई का ऐक्सेस सेट अप करना होगा.

Google Map Tiles API

Map Tiles API की मदद से, उन जगहों की 3D और फ़ोटोरियलिस्टिक इमेज मिलती हैं जहां यह सुविधा काम करती है. हम Unity Editor में इन टाइलों का इस्तेमाल, आपकी एआर सीन के आस-पास के इलाके का प्रीव्यू देखने के लिए करेंगे.

एपीआई चालू करने और Map Tiles के बारे में ज़्यादा जानने के लिए, Map Tiles API पेज पर जाएं.

ARCore Geospatial API

ARCore Geospatial API का इस्तेमाल, आपका ऐप्लिकेशन रनटाइम में करता है. इससे Geospatial ऐंकर बनाए जा सकते हैं और उनके साथ इंटरैक्ट किया जा सकता है.

Geospatial API चालू करने के लिए, अपने ऐप्लिकेशन में ARCore API सेट अप करें. इसके लिए, बिना कुंजी वाला (सुझाया गया) या एपीआई कुंजी वाला तरीका इस्तेमाल किया जा सकता है.

जियोस्पेशल सैंपल ऐप्लिकेशन को बड़ा करना

इस गाइड में, हम आपको ARCore Geospatial Sample ऐप्लिकेशन में जियोस्पेशल कॉन्टेंट जोड़ने के लिए, Geospatial Creator का इस्तेमाल करने का तरीका बताएंगे.

जियोस्पेशल सैंपल को कॉन्फ़िगर करना

सबसे पहले, ARCore Geospatial Sample ऐप्लिकेशन के बारे में जानें. नए Unity प्रोजेक्ट में, Unity Package Manager खोलें और ARCore Extensions पैकेज चुनें. Package Manager के ज़्यादा जानकारी वाले पैनल में, Samples को बड़ा करें. इसके बाद, Geospatial Sample को अपने Unity प्रोजेक्ट में इंपोर्ट करें.

ऐप्लिकेशन चलाने से पहले, आपको अपने प्रोजेक्ट में ARCore और Geospatial API की सुविधा चालू करनी होगी. बदलाव करें > प्रोजेक्ट सेटिंग... > XR Plug-in Management. Android के लिए ARCore प्लग-इन प्रोवाइडर और/या iOS के लिए ARKit प्लग-इन प्रोवाइडर को चालू करने के लिए, सही बॉक्स पर सही का निशान लगाएं.

इसके बाद, बदलाव करें > प्रोजेक्ट सेटिंग... > XR प्लग-इन मैनेजमेंट में जाकर, ARCore Extensions पैनल खोलें. पक्का करें कि "जियोस्पेशल" पर सही का निशान लगा हो. फ़िलहाल, आपको Geospatial Creator को चालू करने की ज़रूरत नहीं है. इसके बाद, अपने एपीआई क्रेडेंशियल डालें. ज़्यादा जानकारी के लिए, Android और iOS के लिए "Geospatial Unity API चालू करें" दस्तावेज़ देखें.

प्लैटफ़ॉर्म के हिसाब से प्लेयर की कुछ अन्य सेटिंग भी होती हैं. ये सेटिंग, ARCore का इस्तेमाल करने वाले किसी भी Unity ऐप्लिकेशन के लिए ज़रूरी होती हैं. ज़रूरी बदलावों के लिए, हमारे दस्तावेज़ों का खिलाड़ी की सेटिंग कॉन्फ़िगर करें सेक्शन देखें.

इस समय, आपकी सीन में गेम ऑब्जेक्ट नहीं हैं. हालांकि, Geospatial Sample को चलाने के लिए ज़रूरी ऑब्जेक्ट मौजूद हैं. यह ऐप्लिकेशन बनाने और चलाने का सही समय है. अगर इसे सही तरीके से कॉन्फ़िगर किया गया है, तो रनटाइम के दौरान ऐप्लिकेशन आपके डिवाइस का कैमरा व्यू दिखाएगा. चलते समय, स्क्रीन पर सबसे ऊपर दिखने वाली भू-स्थानिक जानकारी ज़्यादा सटीक होने लगेगी. स्क्रीन पर टैप करके, जियोस्पेशल ऐंकर बनाए जा सकते हैं. ये ऐंकर, अपनी मूल जगह पर बने रहेंगे.

इसके बाद, हम आपको Geospatial Creator का इस्तेमाल करके, Unity Editor में ही बेहतर एआर कॉन्टेंट बनाने और उसे विज़ुअलाइज़ करने का तरीका बताएंगे. यह कॉन्टेंट, दुनिया में अक्षांश / देशांतर की खास जगहों पर आपके ऐप्लिकेशन में दिखेगा.

ज़रूरी डिपेंडेंसी जोड़ना

Geospatial Creator, तीसरे पक्ष के Unity पैकेज का इस्तेमाल करता है. इसे Cesium कहा जाता है. इसकी मदद से, Unity Editor की सीन विंडो में Google Maps के टाइल रेंडर किए जाते हैं. Geospatial Creator की सुविधाएं चालू करने से पहले, अपने प्रोजेक्ट में Cesium पैकेज जोड़ें.

हमारा सुझाव है कि आप Cesium for Unity पैकेज का नया वर्शन इंस्टॉल करें. इसके लिए, Cesium के GitHub पेज पर जाएं:

  1. Cesium for Unity के प्रीकंपाइल किए गए .tgz का सबसे नया वर्शन, उनके GitHub Releases पेज से डाउनलोड करें. Cesium for Unity पैकेज का मौजूदा सुझाई गई वर्शन 1.1.0 है.
  2. Unity के "Window" मेन्यू पर क्लिक करके, Unity Package Manager खोलें. इसके बाद, "Package Manager" चुनें.
  3. "+" आइकॉन पर क्लिक करें और "टारबॉल से पैकेज जोड़ें" चुनें.
  4. पहले चरण में डाउनलोड की गई Cesium for Unity .tgz फ़ाइल चुनें.
  5. आपको Text Mesh Pro जैसी अन्य डिपेंडेंसी इंस्टॉल करने के लिए कहा जा सकता है.

Unity Package Manager का इस्तेमाल करके, .tgz पैकेज जोड़ना

Geospatial Creator को चालू करना

अब जियोस्पेशल क्रिएटर को चालू किया जा सकता है:

  1. Build Settings डायलॉग में जाकर, पक्का करें कि आपने "Android" या "iOS" में से कोई एक प्लैटफ़ॉर्म चुना हो. फ़िलहाल, Geospatial Creator की सुविधाएं अन्य प्लैटफ़ॉर्म के लिए उपलब्ध नहीं हैं.
  2. प्रोजेक्ट सेटिंग > XR प्लग-इन मैनेजमेंट > ARCore Extensions पर जाएं.
  3. अगर आपने पिछले चरण में, ARCore Android और/या iOS एपीआई पासकोड सेट नहीं किए हैं, तो अब उन्हें सेट करें.
  4. "जियोस्पेशल" और "Geospatial Creator" दोनों टॉगल चालू करें. Geospatial Creator टॉगल को चालू करने के लिए क्लिक करने के बाद, एक नॉन-मोडल विज़र्ड दिखेगा. इससे यह पुष्टि की जा सकेगी कि आपका प्रोजेक्ट, Geospatial Creator के साथ काम करता है.
  5. विज़र्ड पर "पूरा हो गया" पर क्लिक करें.

विज़र्ड पूरा होने के बाद, Unity आपकी स्क्रिप्ट को कंपाइल करेगा. जारी रखने से पहले, फिर से कंपाइल होने की प्रोसेस पूरी होने तक इंतज़ार करें. (अगर आपने "Android" या "iOS" के अलावा कोई दूसरा प्लैटफ़ॉर्म चुना है, तो अब इनमें से किसी एक पर स्विच करें.)

मैप टाइल की मदद से, Geospatial Creator Origin जोड़ना

आपके सीन में सिर्फ़ एक "Geospatial Creator Origin" ऑब्जेक्ट होना चाहिए. इस ऑब्जेक्ट का इस्तेमाल, असल दुनिया के अक्षांश, देशांतर, और ऊंचाई की वैल्यू को Unity गेम के कोऑर्डिनेट में बदलने के लिए रेफ़रंस पॉइंट के तौर पर किया जाता है.

अपने सीन में Geospatial Creator Origin जोड़ने के लिए, Game Object > XR > Geospatial Creator Origin चुनें. नए बनाए गए ऑब्जेक्ट के लिए, जियोरेफ़रंस की ज़रूरत होती है. यह किसी अक्षांश, देशांतर, और ऊंचाई को गेम के निर्देशांकों में ओरिजन की पोज़िशन से लिंक करता है. Geospatial Creator Origin के Inspector पैनल में जाकर, Add Cesium Georeference Component बटन पर क्लिक करके, जियोरेफ़रेंस जोड़ें.

Geospatial Creator Origin GameObject जोड़ना

Cesium Georeference, आपके एआर ऑब्जेक्ट के लिए रेफ़रंस पॉइंट होने के साथ-साथ, सीन में Cesium 3D Tileset ऑब्जेक्ट भी जोड़ता है. यह ऑब्जेक्ट, एडिटर की सीन व्यू में Google Maps की टाइलें रेंडर करेगा. इससे आपको यह देखने में मदद मिलेगी कि दुनिया में आपका एआर कॉन्टेंट कहां दिखेगा. Geospatial Creator Origin के इंस्पेक्टर पर, Map Tiles API पासकोड जोड़ने के लिए एक फ़ील्ड होता है. यह वही पासकोड होता है जिसे आपने पहले सेट अप किया था. इस कुंजी को सेट करने के बाद, आपको सीन व्यू में मैप टाइल लोड होती हुई दिखनी चाहिए.

अब अक्षांश, देशांतर, और ऊंचाई वाले फ़ील्ड में बदलाव करें, ताकि एआर कॉन्टेंट आपके ऐप्लिकेशन में उस जगह के आस-पास दिखे जहां आपको उसे दिखाना है.

अब एडिटर में मौजूद सीन व्यू में, आपके ऑरिजिन के तय किए गए अक्षांश और देशांतर पर मैप टाइलें दिखनी चाहिए. हम मानते हैं कि रनटाइम के दौरान, आपका ऐप्लिकेशन एआर कैमरे का इस्तेमाल करेगा. इसलिए, Geospatial Creator ने "EditorOnly" टैग के साथ Cesium 3D Map Tileset ऑब्जेक्ट को पहले ही कॉन्फ़िगर कर दिया है. इस वजह से, टाइलें आपके गेम में रनटाइम के दौरान डाउनलोड या रेंडर नहीं होंगी. इसे Cesium3DTileset ऑब्जेक्ट के इंस्पेक्टर से बदला जा सकता है. Cesium के Georeference और 3D Tileset GameObjects के बारे में ज़्यादा जानने के लिए, Cesium for Unity का दस्तावेज़ देखें.

जियोस्पेशल क्रिएटर ऐंकर जोड़ना और उसे जगह पर रखना

अब आपके पास अपने सीन में एआर कॉन्टेंट जोड़ने का विकल्प है! अपनी सीन हैरारकी में ऐंकर जोड़ने के लिए, GameObject > XR > Geospatial Creator Anchor पर क्लिक करें. ऐंकर के इंस्पेक्टर से, सटीक अक्षांश, देशांतर, और ऊंचाई तय की जा सकती है. ऑब्जेक्ट का ट्रांसफ़ॉर्म, आपकी सीन में सही जगह पर तुरंत अपडेट हो जाएगा. साथ ही, आपको यह भी पता चल जाएगा कि ऑब्जेक्ट दुनिया में कहां दिखेगा.

जियोस्पेशल क्रिएटर ऐंकर जोड़ना

ऐंकर के अक्षांश और देशांतर को बेहतर बनाते समय, आस-पास की कोई जगह चुनें. इससे आपको यह पुष्टि करने में मदद मिलेगी कि रनटाइम के दौरान, ऐंकर सही जगह पर है. जियोस्पेशल क्रिएटर ऐंकर की ऊंचाई सेट करते समय, आपके पास तीन विकल्प होते हैं:

  • टेरेन, ऐंकर को बताए गए अक्षांश और देशांतर पर ज़मीन के लेवल पर रखता है. ग्राउंड लेवल, रनटाइम में विज़ुअल पोज़िशनिंग सिस्टम से तय होता है. अगर आपने ARCore के Geospatial API का इस्तेमाल पहले कभी नहीं किया है, तो "टेरेन" एक अच्छा विकल्प है. ऐसा इसलिए, क्योंकि ऐंकर को सीधे तौर पर ज़मीन पर सेट किया जाएगा. साथ ही, वर्टिकल ऐंकरिंग की सटीक जानकारी भी मिलेगी. "ऊंचाई में अंतर" फ़ील्ड की मदद से, ऐंकर को ज़मीन के लेवल से ऊपर या नीचे, तय की गई दूरी पर सेट किया जा सकता है. यह दूरी मीटर में होती है. उदाहरण के लिए, "1.0" का ऑफ़सेट तय करने से, ऐंकर ज़मीन से एक मीटर ऊपर "तैरता" है.
  • छत, दिए गए अक्षांश और देशांतर पर मौजूद किसी भी स्ट्रक्चर के सबसे ऊपर के हिसाब से ऐंकर को सेट करता है. "ऊंचाई का ऑफ़सेट" फ़ील्ड, टेरेन ऐंकर की तरह ही काम करता है. इसकी मदद से, ऐंकर को छत की पोज़िशन के हिसाब से ऊपर या नीचे ले जाया जा सकता है. यह दूरी मीटर में होती है.
  • WGS84, WGS84 कॉर्डिनेट सिस्टम के आधार पर, ऐंकर को मीटर में किसी खास ऊंचाई पर रखता है. इस तरह से ऑब्जेक्ट को रखने के लिए, कुछ बार आज़माकर देखना पड़ सकता है. ऐसा इसलिए, क्योंकि WSG84 में "0" की ऊंचाई का मतलब यह नहीं है कि वह समुद्र तल से औसत ऊंचाई पर है. साथ ही, यह जीपीएस की ऊंचाई से मेल नहीं खा सकती है. साथ ही, रेंडर की गई 3D टाइल के अक्षांश और देशांतर की जानकारी बहुत सटीक होती है. हालांकि, 3D टाइल को रेफ़रंस के तौर पर इस्तेमाल करके, ऑब्जेक्ट को ज़मीन के लेवल पर रखने की कोशिश करने से, ऊंचाई में कई मीटर तक की गड़बड़ी हो सकती है.

अलग-अलग तरह के ARCore जियोस्पेशल ऐंकर के बारे में ज़्यादा जानने के लिए, जियोस्पेशल डेवलपर गाइड देखें.

टेरेन और रूफ़टॉप, दोनों ऐंकर में WGS84 ऊंचाई फ़ील्ड होता है. इस वैल्यू का इस्तेमाल, एडिटर मोड में सिर्फ़ सीन व्यू में ऑब्जेक्ट की ऊंचाई सेट करने के लिए किया जाता है. टेरेन और छत की ऊंचाई का पता सिर्फ़ रनटाइम पर चलता है. इसलिए, WGS84 ऊंचाई फ़ील्ड की मदद से, ऐप्लिकेशन डेवलप करते समय किसी ऊंचाई पर ऐंकर को विज़ुअलाइज़ किया जा सकता है. टेरेन और छत के ऐंकर के लिए, रनटाइम पर WGS84 ऊंचाई फ़ील्ड को अनदेखा किया जाता है.

ऐंकर में ज्यामिति जोड़ना

अगर आपने अभी ऐप्लिकेशन बनाया और उसे चलाया, तो आपको एआर की सुविधा वाले ऐप्लिकेशन में ऐंकर नहीं दिखेगा. ऐसा इसलिए, क्योंकि इससे कोई ज्यामिति अटैच नहीं है. आइए, ऐंकर में एक सामान्य 3D प्रिमिटिव जोड़ते हैं: सीन के क्रम में, अपने AR Geospatial Creator ऐंकर ऑब्जेक्ट पर राइट क्लिक करें. कॉन्टेक्स्ट मेन्यू में जाकर, 3D ऑब्जेक्ट > क्यूब को चुनें. आपको सीन व्यू में, ऐंकर के चाइल्ड के तौर पर एक ग्रे क्यूब दिखेगा. अगर आपको एडिटर में ऑब्जेक्ट की पोज़िशन या रोटेशन बदलना है, तो हमारा सुझाव है कि आप चाइल्ड क्यूब प्रिमिटिव के बजाय रूट ऐंकर ऑब्जेक्ट की पोज़िशन या रोटेशन बदलें. इससे अक्षांश / देशांतर से गेम के निर्देशांकों में अनुवाद करने के दौरान होने वाली गड़बड़ी को कम करने में मदद मिलेगी.

क्यूब प्रिमिटिव के साथ जियोस्पेशल क्रिएटर ऐंकर

बेशक, ऐंकर में ज़्यादा मुश्किल ज्यामिति और मनचाहे कॉम्पोनेंट और चाइल्ड भी जोड़े जा सकते हैं.

ऐप्लिकेशन बनाना और उसे चलाना

अब समय आ गया है कि आप अपने ऐंकर को असल दुनिया में देखें! अपना ऐप्लिकेशन बनाएं और उसे चलाएं. इसके बाद, उस जगह पर जाएं जहां आपको क्यूब दिखना चाहिए. क्या यह सुविधा उपलब्ध है? बधाई हो, अब Geospatial Creator की मदद से, एआर के ज़्यादा बेहतर अनुभव बनाए जा सकते हैं!

अगर आपको कोई समस्या होती है, तो समस्या हल करने से जुड़ी गाइड देखें.

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

Geospatial Creator में ऐंकर और ARGeospatialAnchor क्लास के बारे में जानकारी

जटिल और इंटरैक्टिव एआर अनुभव बनाते समय, Geospatial Creator ऐंकर और ARCore के ARGeospatialAnchor C# क्लास के बीच के संबंध को समझना ज़रूरी है:

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

रनटाइम ऐंकर के हल होने के तुरंत बाद, आपकी सीन हैरारकी में मौजूद Geospatial Creator Anchor, नए GameObject से चाइल्ड के तौर पर जुड़ जाएगा. इसका मतलब है कि Geospatial Creator Anchor के सभी कॉम्पोनेंट या चाइल्ड, नए ARGeospatialAnchor GameObject के सब-कॉम्पोनेंट या ग्रैंडचाइल्ड बन जाएंगे. उदाहरण के लिए, Geospatial Creator Anchor से जुड़ी किसी ज्यामिति प्रिमिटिव का transform, ARGeospatialAnchor के transform से इनहेरिट होगा. इसलिए, इसे रनटाइम एआर सेशन में तय की गई जगह पर रखा जाएगा.

अगर आपको रनटाइम के दौरान कुछ ARGeospatialAnchor GameObjects की पहचान करनी है, तो सीन में उन ऑब्जेक्ट को खोजें जिनकी name प्रॉपर्टी, Geospatial Creator का इस्तेमाल करके बनाए गए ऐंकर से मेल खाती है. अगर एआर सेशन शुरू किया गया है, तो उस ऑब्जेक्ट का parent, उससे जुड़ा ARGeospatialAnchor ऑब्जेक्ट होगा.

समस्या का हल

मेरा ऐंकर क्यों हिल रहा है?

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

मेरा ऐंकर गलत ऊंचाई पर क्यों दिख रहा है?

जियोस्पेशल क्रिएटर ऐंकर के लिए, "मैन्युअल" ऊंचाई टाइप का इस्तेमाल करने पर, ऐंकर की ऊंचाई WGS84 के हिसाब से (मीटर में) सेट की जाएगी. किसी जगह पर, मैप टाइल में दिखाए गए ग्राउंड लेवल और Google के विज़ुअल पोज़िशनिंग सिस्टम (वीपीए) से मिले ग्राउंड लेवल के बीच कुछ मीटर का अंतर हो सकता है. अगर किसी जियोस्पेशल ऐंकर को रनटाइम के दौरान गलत जगह पर दिखाया जाता है, तो हमारा सुझाव है कि आप सैंपल ऐप्लिकेशन में डीबगिंग ओवरले का इस्तेमाल करके, वीपीएस की ऊंचाई की पुष्टि करें. इसके बाद, Unity Editor में जाकर ऊंचाई को उस जगह के वीपीएस की ऊंचाई से मैच करने के लिए बदलें.

एडिटर के सीन व्यू में मैप टाइलें ठीक से रेंडर नहीं हो रही हैं

अगर Cesium3DTileset टाइल लोड करता हुआ दिखता है, लेकिन आपकी सीन व्यू में वे सॉलिड मैजेंटा रंग में रेंडर होती हैं, तो अपने प्रोजेक्ट में Unity का Shader Graph पैकेज जोड़ें. Cesium को इस पैकेज की ज़रूरत होती है. हालांकि, Unity के बिल्ट-इन रेंडरर का इस्तेमाल करने वाले प्रोजेक्ट में यह डिफ़ॉल्ट रूप से शामिल नहीं होता.

Shader Graph जोड़ने के लिए, Unity Package Manager (Window > Package Manager) खोलें. पक्का करें कि Unity Package Registry पर उपलब्ध पैकेज ब्राउज़ किए जा रहे हों. इसके लिए, Package Manager विंडो में सबसे ऊपर मौजूद ड्रॉपडाउन मेन्यू से "Packages: Unity Registry" चुनें. com.unity.shadergraph पैकेज खोजें और नया वर्शन इंस्टॉल करें. पैकेज लोड होने के बाद, 3D टाइलें फिर से लोड होनी चाहिए. साथ ही, सीन व्यू में ठीक से रेंडर होनी चाहिए.

ऐप्लिकेशन, कैमरे के व्यू के बजाय रनटाइम में ब्लैक स्क्रीन दिखाता है

Unity का यूनिवर्सल रेंडरिंग पाइपलाइन (यूआरपी), एआर कैमरे के लिए डिफ़ॉल्ट रूप से कॉन्फ़िगर नहीं होता है. अगर आपको रनटाइम के दौरान कैमरे के आउटपुट के बजाय काली स्क्रीन दिख रही है, तो आपको अपनी सीन में मौजूद हर यूआरपी रेंडरर में AR Background Renderer Feature जोड़ना होगा.

एआर बैकग्राउंड रेंडरर सुविधा जोड़ना

इस सुविधा को जोड़ने के लिए, अपने प्रोजेक्ट में "रेंडरर" खोजें. हर URP रेंडरर ऑब्जेक्ट के लिए, इंस्पेक्टर में "रेंडरर सुविधा जोड़ें" बटन पर क्लिक करें और एआर बैकग्राउंड रेंडरर जोड़ें.

ऑरिजिन से दूर रखे गए ऐंकर, गलत तरीके से क्यों रखे गए लगते हैं?

फ़्लोटिंग पॉइंट अंकगणित की सटीक जानकारी की वजह से, WGS84 कोऑर्डिनेट को Unity गेम कोऑर्डिनेट में बदलने के दौरान गड़बड़ी हो सकती है. इस गड़बड़ी को कम किया जा सकता है. इसके लिए, यह पक्का करें कि आपका ऑरिजिन, एआर ऐंकर के आस-पास हो. 20 कि॰मी॰ से ज़्यादा दूरी होने पर, अनुमान में गड़बड़ी हो सकती है. अगर एआर का अनुभव लंबी दूरी तक फैला हुआ है, तो हमारा सुझाव है कि एक से ज़्यादा सीन का इस्तेमाल करें. साथ ही, हर सीन में एक यूनीक ऐंकर होना चाहिए.