AR Foundation של Unity היא מסגרת בפלטפורמות שונות שמאפשרת לכתוב חוויות של מציאות מרובדת פעם אחת, ואז ליצור גרסאות ל-Android או ל-iOS בלי לבצע שינויים נוספים. ה-framework זמין דרך חבילת AR Foundation של Unity.
החבילה האופציונלית ARCore Extensions for AR Foundation של ARCore מוסיפה פונקציונליות נוספת, ומאפשרת לכם להשתמש בתכונות כמו Cloud Anchors, מסננים להגדרת המצלמה והקלטה והפעלה באפליקציה.
העברה או שדרוג של פרויקטים קיימים
- כדי להעביר פרויקט קיים מ-ARCore SDK for Unity (שעבר תמיכה) אל AR Foundation של Unity, ואם רוצים גם אל ARCore Extensions, אפשר לעיין במדריך להעברה.
- כדי לשדרג פרויקט קיים מגרסה קודמת של AR Foundation, תוכלו לעיין במדריכים של Unity לשדרוג ולהעברה.
דרישות
בהתאם לפלטפורמת היעד, החבילה AR Foundation דורשת את הפריטים הבאים:
Android
חומרה
- מכשיר Android או אמולטור שתומכים ב-ARCore
- כבל USB לחיבור המכשיר למכונת הפיתוח
תוכנה
iOS
חומרה
- מכשיר iOS שנתמך ב-ARCore
- כבל USB לחיבור המכשיר למכונה לפיתוח
תוכנה
התקנת AR Foundation
כדי להתקין את חבילת ה-Unity AR Foundation, צריך לפעול לפי השלבים הבאים.
פותחים פרויקט קיים ב-Unity או יוצרים פרויקט 3D חדש.
נווט אל Window > Package Manager.
לצד Packages, בוחרים באפשרות Unity Registry.
בסרגל החיפוש, מקלידים 'AR Foundation'.
לוחצים על Install.
התקנה והפעלה של חבילות פלאגין ספציפיות לפלטפורמה
חבילת AR Foundation מספקת ממשק למפתחי Unity, אבל היא לא מטמיעה תכונות AR בעצמה. כדי להשתמש ב-AR Foundation במכשיר יעד, צריך גם להתקין חבילות נפרדות ולהפעיל את הפלאגין המתאים לכל פלטפורמה.
Android
החבילה ARCore XR Plugin מאפשרת ליצור אפליקציות מציאות רבודה למכשירי Android. אם האפליקציה שלכם מיועדת למכשירי Android, עליכם לפעול לפי השלבים הבאים כדי להתקין אותה בפרויקט ב-Unity. כדאי להשתמש באותה גרסה של חבילת AR Foundation כדי למנוע בעיות תאימות.
בפרויקט, עוברים אל Window > Package Manager.
לצד Packages, בוחרים באפשרות Unity Registry.
בסרגל החיפוש, מקלידים 'ARCore XR plugin'.
לוחצים על Install.
נווט אל Edit > Project Settings. ב-XR Plug-in Management, פותחים את הכרטיסייה Android ומפעילים את ARCore.
iOS
הפלאגין של ARKit XR מאפשר ליצור אפליקציות של מציאות רבודה למכשירי iOS. אם האפליקציה שלכם מיועדת למכשירי iOS, עליכם לפעול לפי השלבים הבאים כדי להתקין אותה בפרויקט ב-Unity. כדי למנוע בעיות תאימות, צריך להשתמש באותה גרסה כמו חבילת AR Foundation.
בפרויקט, עוברים אל Window > Package Manager.
לצד Packages, בוחרים באפשרות Unity Registry.
בסרגל החיפוש, מקלידים 'ARKit XR plugin'.
לוחצים על Install.
נווט אל Edit > Project Settings. ב-XR Plug-in Management, פותחים את הכרטיסייה iOS ומפעילים את ARKit.
הגדרת סשן AR והוספת רכיבים של AR Foundation לסצנה
כדי להפעיל תהליכי AR, כמו מעקב אחר תנועה, הבנה סביבתית והערכת תאורה, נדרשת לסצנה סשן AR. כדי לתמוך בסשן AR, תצטרכו את אובייקטי המשחק הבאים:
AR Foundation 4.x
AR Session: קובע את מחזור החיים של חוויית AR.
AR Session Origin: הופך קואורדינטות AR לקואורדינטות בעולם של Unity.
לפני שמוסיפים את אובייקטי המשחק החדשים, מוחקים את Main Camera שמוגדרת כברירת מחדל. הוא יוחלף ב-AR Camera חדש ב-AR Session Origin.
מוסיפים את האובייקטים החדשים של משחק ה-AR לסצנה: לוחצים לחיצה ימנית על החלונית Hierarchy ובוחרים באפשרות XR. מוסיפים אובייקט AR Session חדש ואובייקט AR Session Origin חדש.
AR Foundation 5.x
AR Session: קובע את מחזור החיים של חוויית AR.
XR Origin: המרת קואורדינטות AR לקווי אורך ורוחב ב-Unity.
לפני שמוסיפים את אובייקטי המשחק החדשים, מוחקים את Main Camera שמוגדרת כברירת מחדל. הוא יוחלף ב-AR Camera חדש ב-XR Origin.
מוסיפים את האובייקטים החדשים של משחק ה-AR לסצנה: לוחצים לחיצה ימנית על החלונית Hierarchy ובוחרים באפשרות XR. מוסיפים אובייקט AR Session חדש ואובייקט XR Origin חדש למשחק.
קביעת הגדרות הנגן
Android
- עוברים אל File > Build Settings כדי לפתוח את החלון Build Settings.
- בקטע Platform, בוחרים באפשרות Android ולוחצים על Switch Platform.
- לוחצים על Player Settings.
מחילים את השינויים הבאים:
Player Settings > … ערך Other Settings > Rendering מבטלים את הסימון של Auto Graphics API.
אם Vulkan מופיע בקטע Graphics APIs, מסירים אותו כי עדיין אין תמיכה ב-Vulkan ב-ARCore.Other Settings > Package Name יוצרים מזהה אפליקציה ייחודי לפי פורמט של שם חבילת Java.
לדוגמה, משתמשים ב-com.example.helloAR
.Other Settings > Minimum API Level אם אתם מפתחים אפליקציה עם דרישה ל-AR, עליכם לציין את הערך Android 7.0 'Nougat' (API Level 24) or higher.
אם אתם מפתחים אפליקציה עם AR אופציונלי, מציינים Android API Level 19 or higher.Other Settings > Scripting Backend בוחרים באפשרות IL2CPP במקום Mono כדי לאפשר הפעלה של תמיכה ב-ARM64 בשלב הבא. במהלך הפיתוח:
- שימוש ב-Mono + 32-bit (ARMv7)
- התקנה של קובץ APK של ARCore בפורמט FAT (32 ביט + 64 ביט)
כששולחים את הבקשה לחנות Play:
- שימוש ב-IL2CPP
- כדי לעמוד בדרישות של חנות Play לגבי 64 ביט, צריך להפעיל גם גרסת 32 ביט (ARMv7) וגם גרסה 64 ביט (ARM64)
- אופציונלי (נתמך בגרסה 2018.3 ואילך): ב-Build Settings, מפעילים את Android App Bundles
Other Settings > Target Architectures כדי לעמוד בדרישה של Google Play לקוד של 64 סיביות, צריך להפעיל את ARM64 (ARM של 64 ביט). משאירים את האפשרות ARMv7 (ARM 32 ביט) מופעלת כדי לתמוך במכשירים עם 32 ביט.
iOS
- עוברים אל File > Build Settings כדי לפתוח את החלון Build Settings.
- בקטע Platform, בוחרים באפשרות iOS ולוחצים על Switch Platform.
- לוחצים על Player Settings.
מגדירים את ההגדרות הבאות:
Player Settings > … ערך Other Settings > Bundle Identifier מוסיפים את שם האפליקציה בפורמט DNS הפוך.
לדוגמה, משתמשים ב-com.mycompany.myapp
.Other Settings > Camera usage description מזינים תיאור שמסביר את השימוש שלכם ב-AR (לדוגמה, ARKit). Other Settings > Target minimum iOS version 11.0 או יותר Other Settings > Architecture ARM64
המאמרים הבאים
- תחילת העבודה עם החבילה האופציונלית ARCore extensions, שמספקת פונקציונליות ARCore נוספת ל-framework של AR Foundation.
- יצירת משחק AR באמצעות AR Foundation של Unity (codelab).