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

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

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

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

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

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

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

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

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

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

  1. Unity को खोलें और नया 3D प्रोजेक्ट बनाएं.
  2. Unity में, Window > पैकेज मैनेजर पर जाएं.
  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 पर जाएं, ओपन सीन जोड़ें को चुनें. इसके बाद, सैंपल सीन खोलने के लिए नमस्ते कार्डबोर्ड चुनें.
  2. लेयर मेन्यू खोलें और लेयर में बदलाव करें... चुनें.
  3. "इंटरैक्टिव" नाम की एक नई लेयर तय करें.
  4. इंस्पेक्टर विंडो खोलने के लिए, ट्रेज़र GameObject पर क्लिक करें. इसकी लेयर को "इंटरैक्टिव" पर सेट करें. अगर आपको एक पॉप-अप विंडो दिखती है, जिसमें पूछा जाता है कि क्या आपको सभी चाइल्ड ऑब्जेक्ट के लिए भी लेयर को इंटरैक्टिव पर सेट करना है, तो "हां, बच्चों की सूची बदलें" पर क्लिक करें.
  5. इंस्पेक्टर विंडो खोलने के लिए प्लेयर > कैमरा > CardboardReticlePointer GameObject पर क्लिक करें. "कार्बोर्ड रेटिकल पॉइंटर" स्क्रिप्ट में, रेटिकल इंटरैक्शन लेयर मास्क के तौर पर "इंटरैक्टिव" चुनें.

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

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

  1. Android चुनें और Switch Platform चुनें.
  2. ओपन सीन जोड़ें चुनें और नमस्ते कार्डबोर्ड चुनें.

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

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

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

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

अन्य सेटिंग

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

  1. OpenGLES2, OpenGLES3 या Vulkan या इनका कोई भी कॉम्बिनेशन Graphics API में चुनें.
  2. कम से कम एपीआई लेवल में Android 8.0 'Oreo' (API level 26) या उससे ज़्यादा चुनें.
  3. टारगेट एपीआई लेवल में API level 33 या उससे बाद का लेवल चुनें.
  4. स्क्रिप्टिंग बैकएंड में IL2CPP चुनें.
  5. टारगेट आर्किटेक्चर में ARMv7, ARM64 या दोनों चुनकर अपनी पसंद का आर्किटेक्चर चुनें.
  6. इंटरनेट ऐक्सेस में Require को चुनें.
  7. पैकेज का नाम में अपनी कंपनी का डोमेन डालें.
  8. अगर Vulkan को Graphics API के तौर पर चुना गया है, तो:
    • Vulkan सेटिंग में, रेंडरिंग के दौरान डिसप्ले रोटेशन लागू करें चेकबॉक्स से सही का निशान हटाएं.
    • अगर Unity वर्शन 2021.2 या इसके बाद का वर्शन है, तो टेक्स्चर कंप्रेशन फ़ॉर्मैट में ETC2 चुनें.
  9. अगर 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.6.1'
      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 चुनें. इसके बाद, Switch Platform को चुनें.
  2. ओपन सीन जोड़ें चुनें और नमस्ते कार्डबोर्ड चुनें.

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

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

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

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

अन्य सेटिंग

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

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

XR प्लग-इन को मैनेज करने की सेटिंग

प्रोजेक्ट सेटिंग > XR प्लग-इन मैनेजमेंट पर जाएं.

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

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

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

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

फिर से बीच में लाया जा रहा है

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

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

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

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

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

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

अगले चरण