הפעלה של Geospatial API לאפליקציית Unity (AR Foundation) שמטרגטת ל-iOS

קובעים את הגדרות האפליקציה כך שהיא תוכל להשתמש ב-Geospatial API.

דרישות מוקדמות

חשוב לוודא שאתם מבינים את המושגים הבסיסיים של AR ואיך להגדיר סשן ARCore לפני שממשיכים.

לצפייה מבוא ל-Geospatial API, מידע נוסף מידע על ה-API הגיאו-מרחבי.

אם זו הפעם הראשונה שאתם מפתחים עם ARCore, ראו תחילת העבודה. לקבלת מידע על דרישות תוכנה וחומרה, דרישות מוקדמות מידע אחר שספציפי לפלטפורמות שבהן אתה משתמש.

כדי להשתמש ב-ARCore Geospatial API, הפרויקט שלכם צריך לתמוך AR Foundation ותוספי ARCore for AR Foundation.

הפעלה של ARCore API

לפני השימוש במערכת המיקום החזותי (VPS) באפליקציה, עליך מפעילים את ARCore API בפרויקט חדש או קיים ב-Google Cloud השירות הזה אחראי אירוח, אחסון ופתרון עוגנים גיאו-מרחביים.

עדיף להשתמש בהרשאה ללא מפתח, אבל יש גם תמיכה באימות באמצעות מפתח API.

צריך להוסיף את הספריות הנדרשות לאפליקציה

אחרי שהענקת לאפליקציה הרשאה לקרוא ל-ARCore API, צריך להוסיף ספריות אל להפעיל תכונות גיאו-מרחביות באפליקציה

  1. מנווטים אל עריכה > הגדרות פרויקט > ניהול פלאגין XR > ARCore extensions (תוספי ARCore). מוודאים שהאפשרות iOS Support Enabled נבחרה.
  2. בקטע Optional Features (תכונות אופציונליות), בוחרים באפשרות Geo-רחב (גיאו-מרחבי).

הפעלת יכולות גיאו-מרחביות בהגדרת הסשן

אחרי שמפעילים את הפונקציונליות גיאו-מרחבית באפליקציה, צריך להפעיל יכולות גיאו-מרחביות בהגדרות ה-AR של האפליקציה כדי שהיא תוכל לתקשר עם ARCore API:

  1. מוודאים שתיקיית הפרויקט Assets (נכסים) מכילה אובייקט שניתן לסקריפט ARCoreExtensionConfig. כדי ליצור נכס, לוחצים לחיצה ימנית בחלונית נכסים ובוחרים באפשרות יצירה > XR > הגדרת תוספים ל-ARCore.
  2. בוחרים את אובייקט הסקריפט ARCoreExtensionsConfig בתיקייה ARCoreExtensionsConfig (נכסים) ומגדירים את ARCoreExtensionsConfig (מצב גיאוגרפי-מרחבי) כ-ARCoreExtensionsConfig.

  3. מגדירים את אובייקט המשחק ARCore extensions לשימוש בתצורה של ARCoreExtensionConfig. בחלונית Hierarchy, מאתרים את אובייקט המשחק ARCore extensions שיצרתם כשהגדרתם לראשונה את תוספי ARCore, ומחברים את השדה ARCore extensions Config אל אובייקט הסקריפט ARCoreExtensionConfig בתיקייה Assets.

הצגת בקשה למשתמש לאפשר שימוש בנתוני המכשיר

באפליקציות שמשתמשות ב-ARCore Geospatial API חייבים להציג למשתמש הנחיה לאשר את השימוש בנתונים מהמכשיר שלהם ולאפשר את השימוש בהם. צפייה הדרישות בנושא פרטיות המשתמשים, מידע נוסף מידע.

בדיקת התאימות של המכשיר

חלק מהמכשירים שתומכים ב-ARCore לא תומכים גם ב-Geospatial API. כדי לבדוק במכשיר של המשתמש, כדי לקבל מידע על תאימות, AREarthManager.IsGeospatialModeSupported() אם הפונקציה מחזירה את הערך FeatureSupported.Unsupported לא מנסים להגדיר את סשן.

בקשת הרשאות מיקום מהמשתמש בזמן הריצה

כדי להפעיל את שירותי המיקום של Unity בסקריפט שמפעיל את סביבת זמן הריצה בקשות להרשאות, יש לבצע את הפעולות הבאות:

  1. ב-Project Settings > iOS > Other Settings > Location Usage Description, מזינים את שם האפליקציה שמבקשת הרשאות.

  2. הפעלת שירותי המיקום של Unity כדי להפעיל את סביבת זמן הריצה בקשת הרשאה, באופן הבא:

    public void OnEnable()
    {
        Input.location.Start();
    }
    
    public void OnDisable()
    {
        Input.location.Stop();
    }
    

    לעיון ב- Unity LocationService לקבלת מידע נוסף.

בדיקת הזמינות הגיאו-מרחבית במיקום הנוכחי של המכשיר

ה-API הגיאו-מרחבי ה-API משתמש בשילוב של VPS ו-GPS כדי לקבוע מיקום גיאו-מרחבי, ולכן אפשר להשתמש ב-API כל עוד המכשיר יכול לקבוע את המיקום שלו. באזורים שבהם רמת הדיוק של ה-GPS נמוכה, כמו אזורים סגורים וסביבות עירוניות צפופות, ה-API יסתמך על כיסוי VPS כדי ליצור תנוחות ברמת דיוק גבוהה. בתנאים רגילים, ה-VPS צפוי לספק דיוק תלוי מיקום של כ-5 מטרים, ודיוק סיבובי של 5 מעלות. כדי לקבוע אם למיקום מסוים יש כיסוי VPS, משתמשים בפונקציה AREarthManager.CheckVpsAvailability().

אפשר להשתמש ב-Geospatial API גם באזורים שאין להם כיסוי של VPS. בסביבות חיצוניות שבהן אין הפרעות מעל הרצפה או שאין בהן הפרעות מצד ה-GPS, ייתכן שה-GPS מספיק כדי ליצור תנוחה ברמת דיוק גבוהה.

המאמרים הבאים