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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

विवाद हल करने और प्रज़ेंटेशन से जुड़ी सेटिंग कॉन्फ़िगर करना

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

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

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

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

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

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

Player > Publishing Settings पर जाएं.

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

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

अगले चरण