Unity के लिए Google Cardboard के लिए क्विकस्टार्ट

इस गाइड में, Unity के लिए Google Cardboard XR प्लग इन का इस्तेमाल करने का तरीका बताया गया है. इसकी मदद से, वर्चुअल रिएलिटी (वीआर) के अनुभव बनाए जा सकते हैं.

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

शुरू करने के लिए, आपको HelloCardboard का इस्तेमाल करना होगा. यह एक डेमो गेम है, जिसमें Cardboard SDK टूल की मुख्य सुविधाओं के बारे में बताया गया है. इस गेम में, उपयोगकर्ता किसी वर्चुअल दुनिया में ऑब्जेक्ट ढूंढते और इकट्ठा करते हैं. इस गाइड से, आपको इन कामों के बारे में जानकारी मिलेगी:

  • डेवलपमेंट एनवायरमेंट सेट अप करना
  • डेमो ऐप्लिकेशन डाउनलोड और बनाना
  • Cardboard व्यूअर के पैरामीटर सेव करने के लिए, उसका क्यूआर कोड स्कैन करना
  • उपयोगकर्ता के सिर की हरकतें ट्रैक करना
  • हर आंख के लिए सही डिस्टॉर्शन सेट करके, स्टीरियोस्कोपिक इमेज रेंडर करना
  • वीआर मोड को चालू या बंद करना

डेवलपमेंट एनवायरमेंट सेट अप करना

सॉफ़्टवेयर से जुड़ी ज़रूरी शर्तें:

  • Unity 2021.3.44f1 या इसके बाद का वर्शन
    • इंस्टॉलेशन के दौरान, Android और iOS के लिए बने सहायता टूल को ज़रूर शामिल करें.
    • पक्का करें कि आपने पैच का 44f1 या उसके बाद का वर्शन इंस्टॉल किया हो.
  • Git इंस्टॉल होना चाहिए और git एक्सीक्यूटेबल, PATH एनवायरमेंट वैरिएबल पर होना चाहिए. ज़्यादा जानकारी के लिए, Unity के पैकेज मैनेजर के लिए git के इस्तेमाल से जुड़ी सहायता से जुड़े दस्तावेज़ देखें.

SDK टूल इंपोर्ट करना और नया प्रोजेक्ट बनाना

Unity SDK इंपोर्ट करने और नया प्रोजेक्ट बनाने के लिए, यह तरीका अपनाएं.

  1. Unity खोलें और नया 3D प्रोजेक्ट बनाएं.
  2. Unity में, विंडो > पैकेज मैनेजर पर जाएं.
  3. + पर क्लिक करें और git यूआरएल से पैकेज जोड़ें चुनें.
  4. टेक्स्ट एंट्री फ़ील्ड में https://github.com/googlevr/cardboard-xr-plugin.git चिपकाएं.
    पैकेज को इंस्टॉल किए गए पैकेज में जोड़ा जाना चाहिए.
  5. Unity के लिए Google Cardboard XR प्लगिन पैकेज पर जाएं. सैंपल सेक्शन में, प्रोजेक्ट में इंपोर्ट करें चुनें.
    सैंपल ऐसेट को Assets/Samples/Google Cardboard/<version>/Hello Cardboard में लोड किया जाना चाहिए.

HelloCardboard सीन कॉन्फ़िगर करना

  1. Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes पर जाएं. इसके बाद, सैंपल सीन खोलने के लिए, ओपन सीन जोड़ें को चुनें और HelloCardboard चुनें.
  2. लेयर मेन्यू खोलें और लेयर में बदलाव करें... को चुनें.
  3. "इंटरैक्टिव" नाम की एक नई लेयर बनाएं.
  4. इंस्पेक्टर विंडो खोलने के लिए, खज़ाना गेम ऑब्जेक्ट पर क्लिक करें. इसकी लेयर को "इंटरैक्टिव" पर सेट करें. अगर कोई पॉप-अप विंडो दिखती है, जिसमें आपसे पूछा जाए कि क्या आपको सभी चाइल्ड ऑब्जेक्ट के लिए भी लेयर को इंटरैक्टिव पर सेट करना है, तो "हां, चाइल्ड ऑब्जेक्ट बदलें" पर क्लिक करें.
  5. Inspector विंडो खोलने के लिए, Player > Camera > CardboardReticlePointer गेम ऑब्जेक्ट पर क्लिक करें. "Cardboard रेटिकल पॉइंटर" स्क्रिप्ट में, रेटिकल इंटरैक्शन लेयर मास्क के तौर पर "इंटरैक्टिव" चुनें.

Android बिल्ड की सेटिंग कॉन्फ़िगर करना

फ़ाइल > बिल्ड सेटिंग पर जाएं.

  1. Android चुनें और प्लैटफ़ॉर्म स्विच करें को चुनें.
  2. ओपन सीन जोड़ें को चुनें और HelloCardboard चुनें.

प्लेयर की सेटिंग

बदलाव करें > प्रोजेक्ट सेटिंग... पर जाएं.

रिज़ॉल्यूशन और प्रज़ेंटेशन की सेटिंग कॉन्फ़िगर करना

प्लेयर > रिज़ॉल्यूशन और प्रज़ेंटेशन पर जाएं.

  1. डिफ़ॉल्ट ओरिएंटेशन को लैंडस्केप लेफ़्ट या लैंडस्केप राइट पर सेट करें.
  2. ऑप्टिमाइज़ की गई फ़्रेम पेसिंग की सुविधा बंद करें.

अन्य सेटिंग कॉन्फ़िगर करना

प्लेयर > अन्य सेटिंग पर जाएं.

  1. ग्राफ़िक्स एपीआई में, OpenGLES2, OpenGLES3 या Vulkan या इनमें से कोई भी कॉम्बिनेशन चुनें.
  2. कम से कम एपीआई लेवल में, Android 8.0 'Oreo' (API level 26) या उससे ज़्यादा चुनें.
  3. टारगेट एपीआई लेवल में, API level 33 या उससे ज़्यादा चुनें.
  4. स्क्रिप्टिंग बैकएंड में IL2CPP चुनें.
  5. टारगेट किए गए आर्किटेक्चर में ARMv7, ARM64 या दोनों को चुनकर, अपनी पसंद के आर्किटेक्चर चुनें.
  6. इंटरनेट ऐक्सेस में जाकर, Require चुनें.
  7. सक्रिय इनपुट हैंडलिंग में जाकर, Input System Package (New) चुनें.
  8. पैकेज का नाम में जाकर, अपनी कंपनी का डोमेन डालें.
  9. अगर Vulkan को Graphics API के तौर पर चुना गया था, तो:
    • Vulkan की सेटिंग में जाकर, रेंडरिंग के दौरान डिसप्ले रोटेशन लागू करें चेकबॉक्स से सही का निशान हटाएं.
    • अगर Unity का वर्शन 2021.2 या उसके बाद का है, तो टेक्स्चर के लिए इस्तेमाल होने वाले, डेटा को कम करने वाले फ़ॉर्मैट में ETC2 चुनें.
  10. अगर Unity का वर्शन 2023.1 या उसके बाद का है, तो ऐप्लिकेशन एंट्री पॉइंट में Activity को चुनें और GameActivity को हटाएं.

पब्लिश करने की सेटिंग कॉन्फ़िगर करना

प्लेयर > पब्लिशिंग सेटिंग पर जाएं.

  1. बिल्ड सेक्शन में, Custom Main Gradle Template और Custom Gradle Properties Template चुनें.
  2. Assets/Plugins/Android/mainTemplate.gradle के डिपेंडेंसी सेक्शन में ये लाइनें जोड़ें:

      implementation 'androidx.appcompat:appcompat:1.6.1'
      implementation 'com.google.android.gms:play-services-vision:20.1.3'
      implementation 'com.google.android.material:material:1.12.0'
      implementation 'com.google.protobuf:protobuf-javalite:3.19.4'
    
  3. Assets/Plugins/Android/gradleTemplate.properties में ये लाइनें जोड़ें:

      android.enableJetifier=true
      android.useAndroidX=true
    

XR प्लग-इन मैनेजमेंट की सेटिंग कॉन्फ़िगर करना

XR प्लग-इन मैनेजमेंट पर जाएं.

  1. प्लग-इन की सेवा देने वाली कंपनियां में जाकर, Cardboard XR Plugin चुनें.

अपना प्रोजेक्ट बनाना

फ़ाइल > बिल्ड सेटिंग पर जाएं.

  1. बिल्ड करें को चुनें या कोई डिवाइस चुनें और बिल्ड करें और चलाएं को चुनें.

iOS प्रोजेक्ट की सेटिंग कॉन्फ़िगर करना

फ़ाइल > बिल्ड सेटिंग पर जाएं.

  1. iOS चुनें और प्लैटफ़ॉर्म स्विच करें को चुनें.
  2. ओपन सीन जोड़ें को चुनें और HelloCardboard चुनें.

प्लेयर की सेटिंग

बदलाव करें > प्रोजेक्ट सेटिंग... पर जाएं.

रिज़ॉल्यूशन और प्रज़ेंटेशन की सेटिंग कॉन्फ़िगर करना

प्लेयर > रिज़ॉल्यूशन और प्रज़ेंटेशन पर जाएं.

  1. डिफ़ॉल्ट ओरिएंटेशन को लैंडस्केप लेफ़्ट या लैंडस्केप राइट पर सेट करें.

अन्य सेटिंग कॉन्फ़िगर करना

प्लेयर > अन्य सेटिंग पर जाएं.

  1. कैमरे के इस्तेमाल की जानकारी में, Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters). लिखें.
  2. टारगेट किया गया कम से कम iOS वर्शन में, 12.0 लिखें.
  3. पैकेज का नाम में जाकर, अपनी कंपनी का डोमेन डालें.
  4. किनारों पर सिस्टम जेस्चर (हाव-भाव) का इस्तेमाल करने से रोकें में जाकर, Top Edge, Left Edge, और Right Edge को चुनें.

XR प्लग-इन मैनेजमेंट की सेटिंग कॉन्फ़िगर करना

XR प्लग-इन मैनेजमेंट पर जाएं.

  1. प्लग-इन की सेवा देने वाली कंपनियां में जाकर, Cardboard XR Plugin चुनें.

अपना प्रोजेक्ट बनाना

फ़ाइल > बिल्ड सेटिंग पर जाएं.

  1. बिल्ड करें या बिल्ड करें और चलाएं को चुनें.

फिर से केंद्र में लाएं

Cardboard SDK की मदद से, Recenter() का इस्तेमाल करके हेड ट्रैकर को फिर से केंद्र में लाया जा सकता है.

सैंपल ऐप्लिकेशन का इस्तेमाल करके, इसे आज़माने के लिए यह तरीका अपनाएं:

  1. डिवाइस को उस जगह पर ले जाएं जहां आपको उसे फिर से सेंटर करना है. इसके लिए, नए 'आगे की ओर देखना' पोज़ का इस्तेमाल करें.
  2. अपने Cardboard डिवाइस के ट्रिगर को कम से कम तीन सेकंड तक दबाकर रखें.
  3. ट्रिगर को छोड़ें.
  4. शुरुआती पोज़ अब उसी दिशा में है जिस दिशा में कैमरा है.

वीआर मोड को चालू या बंद करना

Unity XR प्लग इन मैनेजमेंट एपीआई की मदद से, Unity के लिए Google Cardboard XR प्लग इन के लिए, वर्चुअल रिएलिटी मोड को चालू या बंद किया जा सकता है. असली उपयोगकर्ता के लिए दस्तावेज़ और इस्तेमाल के उदाहरण, Unity के असली उपयोगकर्ता के लिए दस्तावेज़ में उपलब्ध हैं.

HelloCardboard सैंपल में VrMode सीन, ऊपर बताए गए एपीआई के बुनियादी इस्तेमाल को दिखाता है. इस सीन में, बाहर निकलें X बटन पर टैप करके वीआर मोड को बंद किया जा सकता है. साथ ही, स्क्रीन पर कहीं भी टैप करके इसे फिर से चालू किया जा सकता है. यह कैसे किया जाता है, इस बारे में जानने के लिए VrModeController.cs देखें.

अगले चरण