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

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

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

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

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

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

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

  • Unity 2021.3.44f1 ואילך
    • חשוב לכלול תמיכה ב-Android וב-iOS Build במהלך ההתקנה.
    • חשוב להתקין את תיקון הגרסה 44f1 ואילך.
  • צריך להתקין את Git וקובץ ההפעלה git צריך להיות במשתנה הסביבה PATH. פרטים נוספים זמינים במסמכים בנושא תמיכת git במנהל החבילות של Unity.

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

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

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

הגדרת סצנה ב-HelloCardboard

  1. עוברים אל Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes, בוחרים באפשרות Add Open Scenes ובוחרים באפשרות HelloCardboard כדי לפתוח את הסצנה לדוגמה.
  2. פותחים את התפריט שכבות ובוחרים באפשרות עריכת שכבות.
  3. מגדירים שכבה חדשה בשם 'אינטראקטיבית'.
  4. לוחצים על אובייקט המשחק Treasure כדי לפתוח את חלון Inspector. מגדירים את השכבה כ'אינטראקטיבית'. אם מופיע חלון קופץ עם שאלה אם רוצים להגדיר את השכבה כאינטראקטיבית גם לכל אובייקטי הצאצאים, לוחצים על 'כן, שינוי הצאצאים'.
  5. לוחצים על אובייקט המשחק Player > Camera > CardboardReticlePointer כדי לפתוח את חלון Inspector. בסקריפט 'Cardboard reticle pointer', בוחרים באפשרות 'אינטראקטיבי' בתור Reticle Interaction Layer Mask.

הגדרת הגדרות build ל-Android

עוברים אל קובץ > הגדרות build.

  1. בוחרים באפשרות Android ואז באפשרות Switch Platform.
  2. בוחרים באפשרות Add Open Scenes (הוספת סצנות פתוחות) ובוחרים באפשרות HelloCardboard.

הגדרות הנגן

עוברים אל עריכה > הגדרות הפרויקט.

הגדרת ההגדרות של הרזולוציה והתצוגה

עוברים אל נגן > רזולוציה והצגה.

  1. מגדירים את Default Orientation (כיוון ברירת המחדל) ל-Landscape Left (לרוחב, ימין) או ל-Landscape Right (לרוחב, ימין).
  2. משביתים את האפשרות קצב מסגרות מותאם.

הגדרת הגדרות אחרות

עוברים אל נגן > הגדרות אחרות.

  1. בוחרים באפשרות OpenGLES2,‏ OpenGLES3 או Vulkan, או כל שילוב שלהן ב-Graphics APIs.
  2. בוחרים באפשרות Android 8.0 'Oreo' (API level 26) ואילך בקטע רמת ה-API המינימלית.
  3. בוחרים באפשרות API level 33 ואילך בקטע רמת ה-API לטירגוט.
  4. בוחרים באפשרות IL2CPP בקטע Scripting Backend.
  5. בוחרים את הארכיטקטורות הרצויות: ARMv7,‏ ARM64 או את שתיהן בקטע Target Architectures.
  6. בוחרים באפשרות Require בקטע גישה לאינטרנט.
  7. בוחרים באפשרות Input System Package (New) בקטע Active Input Handling.
  8. מציינים את הדומיין של החברה בקטע שם החבילה.
  9. אם Vulkan נבחר כ-Graphics API:
    • מבטלים את הסימון של התיבה Apply display rotation during rendering בקטע Vulkan Settings.
    • אם הגרסה של Unity היא 2021.2 ואילך, בוחרים באפשרות ETC2 בקטע Texture compression format.
  10. אם גרסת Unity היא 2023.1 ואילך, בוחרים באפשרות Activity ומוחקים את הערך של GameActivity בקטע Application Entry Point.

הגדרת הגדרות הפרסום

עוברים אל נגן > הגדרות פרסום.

  1. בקטע Build, בוחרים באפשרויות Custom Main Gradle Template ו-Custom Gradle Properties Template.
  2. מוסיפים את השורות הבאות לקטע dependencies בקובץ 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 בקטע ספקי יישומי פלאגין.

פיתוח הפרויקט

עוברים אל קובץ > הגדרות build.

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

הגדרת הגדרות הפרויקט ל-iOS

עוברים אל קובץ > הגדרות build.

  1. בוחרים באפשרות iOS ואז באפשרות Switch Platform.
  2. בוחרים באפשרות Add Open Scenes (הוספת סצנות פתוחות) ובוחרים באפשרות HelloCardboard.

הגדרות הנגן

עוברים אל עריכה > הגדרות הפרויקט.

הגדרת ההגדרות של הרזולוציה והתצוגה

עוברים אל נגן > רזולוציה ותצוגה.

  1. מגדירים את Default Orientation (כיוון ברירת המחדל) ל-Landscape Left (לרוחב, ימין) או ל-Landscape Right (לרוחב, ימין).

הגדרת הגדרות אחרות

עוברים אל נגן > הגדרות אחרות.

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

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

עוברים אל ניהול הפלאגין של XR.

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

פיתוח הפרויקט

עוברים אל קובץ > הגדרות build.

  1. בוחרים באפשרות Build או Build and Run.

מרכוז מחדש

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

כדי לנסות את התכונה באמצעות האפליקציה לדוגמה:

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

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

באמצעות Unity XR Plugin Management API אפשר להפעיל או להשבית את מצב ה-VR בפלאגין Google Cardboard XR ל-Unity. מסמכי עזרה ומדוגמאות לשימוש למשתמשי קצה זמינים במסמכי העזרה למשתמשי קצה של Unity.

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

השלבים הבאים