מדריך למתחילים בנושא Google Cardboard ל-Unity

במדריך הזה תלמדו איך להשתמש בפלאגין Google Cardboard XR בשביל משתמשים ב-Unity כדי ליצור ב-Unity בחוויות מציאות מדומה (VR).

אתם יכולים להשתמש ב-Cardboard SDK כדי להפוך טלפון נייד לפלטפורמת VR. א' הסמארטפון יכול להציג סצנות תלת ממדיות עם עיבוד סטריאוסקופי, לעקוב אחרי אירועים ולהגיב להם לתנועות הראש ולקיים אינטראקציה עם אפליקציות באמצעות זיהוי מתי המשתמש לוחץ על לחצן הצופה.

כדי להתחיל, משתמשים ב-HelloCardboard, משחק הדגמה שמדגים את התכונות העיקריות של Cardboard SDK. במשחק, המשתמשים מביטים סביב סמל וירטואלי כדי למצוא ולאסוף אובייקטים. המדריך מסביר איך:

  • הגדרת סביבת הפיתוח
  • הורדה ופיתוח של אפליקציית ההדגמה
  • צריך לסרוק את קוד ה-QR של מכשיר Cardboard כדי לשמור את הפרמטרים שלו
  • מעקב אחר תנועות הראש של המשתמש
  • עיבוד תמונות סטריאוסקופיות על ידי הגדרת העיוות הנכון לכל עין
  • הפעלה והשבתה של מצב VR

הגדרת סביבת הפיתוח

דרישות התוכנה:

ייבוא ה-SDK ויצירת פרויקט חדש

כדי לייבא את ה-Unity SDK וליצור פרויקט חדש, יש לבצע את השלבים הבאים.

  1. פותחים את Unity ויוצרים פרויקט תלת-ממדי חדש.
  2. ב-Unity, עוברים אל חלון > Package Manager (מנהל החבילות).
  3. לוחצים על + ובוחרים באפשרות הוספת חבילה מ-Git URL.
  4. הדבקת https://github.com/googlevr/cardboard-xr-plugin.git בטקסט שדה להזנת כניסה.
    יש להוסיף את החבילה לחבילות המותקנים.
  5. נכנסים לחבילת Google Cardboard XR Plugin ל-Unity. ב בקטע טעימות, בוחרים באפשרות ייבוא לפרויקט.
    הנכסים לדוגמה צריך להיטען ב-Assets/Samples/Google Cardboard/<version>/Hello Cardboard.

הגדרה של סצנת HelloCardboard

  1. מנווטים אל Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes, בוחרים באפשרות הוספת סצנות פתוחות ובוחרים באפשרות HelloCardboard כדי לפתוח את הסצנה לדוגמה.
  2. פותחים את התפריט שכבות ובוחרים באפשרות עריכת שכבות...
  3. מגדירים שכבה חדשה בשם 'אינטראקטיבית'.
  4. לוחצים על אובייקט GameObject Treasure כדי לפתוח את חלון ה-Inspector. הגדרת ל-'Interactive'. אם מופיע חלון קופץ ששואל אם רוצים להגדיר את השכבה ל'אינטראקטיבית' גם עבור כל אובייקטי הצאצא, ללחוץ על "כן, שינוי ילדים".
  5. לוחצים על נגן > מצלמה > אובייקט GameObject של CardboardReticlePointer אל פותחים את חלון המפקח. ב'מצביע של רשת Carboard' סקריפט, בחירה 'אינטראקטיבי' בתור מסכת שכבות של אינטראקציה עם רשת.

קביעת ההגדרות של פרויקט Android

מנווטים אל קובץ > ליצור הגדרות.

  1. בוחרים באפשרות Android ובוחרים באפשרות מעבר לפלטפורמה.
  2. בוחרים באפשרות הוספת סצנות פתוחות ואז באפשרות HelloCardboard.

הגדרות הנגן

רזולוציה והצגה

עוברים אל Project Settings (הגדרות הפרויקט) > נגן > רזולוציה והצגה.

  1. מגדירים את כיוון ברירת המחדל כלרוחב שמאלי או את לרוחב בסדר.
  2. משביתים את אופטימיזציה של קצב הפריימים.

הגדרות אחרות

עוברים אל Project Settings (הגדרות הפרויקט) > נגן > הגדרות אחרות.

  1. אפשר לבחור את OpenGLES2, OpenGLES3 או Vulkan, או כל שילוב שלהם בתוך ממשקי API לגרפיקה.
  2. יש לבחור Android 8.0 'Oreo' (API level 26) ואילך בממשק API מינימלי רמה.
  3. בוחרים באפשרות API level 33 או יותר בTarget API Level (רמת API לטירגוט).
  4. בוחרים באפשרות IL2CPP בקטע סקריפט עורפי.
  5. כדי לבחור את הארכיטקטורות הרצויות, בוחרים את ARMv7, ARM64 או את שתיהן ארכיטקטורות יעד.
  6. בוחרים באפשרות Require בגישה לאינטרנט.
  7. בקטע שם חבילה, מציינים את דומיין החברה.
  8. אם בחרת בשדה Vulkan בתור Graphics API:
    • מבטלים את הסימון של הפעלת סיבוב התצוגה במהלך העיבוד ב-Vulkan הגדרות.
    • אם גרסת Unity היא 2021.2 ומעלה, יש לבחור ETC2 במרקם פורמט דחיסה.
  9. אם הגרסה של Unity היא 2023.1 ואילך, יש לבחור Activity ולמחוק GameActivity בנקודת הכניסה לאפליקציה.

הגדרות פרסום

עוברים אל Project Settings (הגדרות הפרויקט) > נגן > הגדרות פרסום.

  1. בקטע Build, בוחרים 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

עוברים אל Project Settings (הגדרות הפרויקט) > ניהול יישומי פלאגין של XR.

  1. בוחרים באפשרות Cardboard XR Plugin בקטע ספקי פלאגין.

בניית הפרויקט

מנווטים אל קובץ > ליצור הגדרות.

  1. בוחרים באפשרות פיתוח או בוחרים מכשיר ולוחצים על בנייה והפעלה.

קביעת ההגדרות של פרויקט iOS

מנווטים אל קובץ > ליצור הגדרות.

  1. בוחרים באפשרות iOS ובוחרים באפשרות החלפת פלטפורמה.
  2. בוחרים באפשרות הוספת סצנות פתוחות ואז באפשרות HelloCardboard.

הגדרות הנגן

רזולוציה והצגה

עוברים אל Project Settings (הגדרות הפרויקט) > נגן > רזולוציה והצגה.

  1. מגדירים את כיוון ברירת המחדל כלרוחב שמאלי או את לרוחב בסדר.

הגדרות אחרות

עוברים אל Project Settings (הגדרות הפרויקט) > נגן > הגדרות אחרות.

  1. בקטע תיאור השימוש במצלמה, כותבים Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters)..
  2. בקטע גרסת היעד המינימלית של iOS, כותבים 12.0.
  3. בקטע שם חבילה, מציינים את דומיין החברה.

הגדרות לניהול פלאגין של XR

עוברים אל Project Settings (הגדרות הפרויקט) > ניהול יישומי פלאגין של XR.

  1. בוחרים באפשרות Cardboard XR Plugin בקטע ספקי פלאגין.

בניית הפרויקט

מנווטים אל קובץ > ליצור הגדרות.

  1. בוחרים באפשרות Build או Build and Run (פיתוח והפעלה).

מרכוז מחדש

Cardboard SDK מאפשר לכם מרכוז מחדש של מכשיר המעקב בראש באמצעות Recenter().

כדי לנסות להשתמש באפליקציה לדוגמה, צריך לבצע את השלבים הבאים:

  1. מזיזים את המכשיר למיקום שרוצים למרכז מחדש (יש להשתמש בו כמראה חדש) בתנוחת הראש הקדמי).
  2. החזיקו את ההדק של מכשיר Cardboard למשך שלוש שניות לפחות.
  3. משחררים את הטריגר.
  4. התנוחה הראשונית היא עכשיו בכיוון שהמצלמה מופנית.

הפעלה והשבתה של מצב VR

ניהול הפלאגין של Unity XR API מאפשר לכם מצב VR מופעל או כבוי עבור הפלאגין של Google Cardboard XR Unity. מסמכים למשתמשי קצה ודוגמאות לשימוש נמצאות בדף משתמש קצה (end-user) של Unity תיעוד.

בסצנה VrMode בדוגמה של HelloCardboard מוצג שימוש בסיסי API שהוזכר למעלה. בסצנה הזו, אפשר להשבית את מצב VR בהקשה על יציאה , ואפשר להפעיל אותו שוב רק על ידי בהקשה במקום כלשהו במסך. לבדיקה VrModeController.cs לקבלת פרטים על אופן הפעולה.

השלבים הבאים