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

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

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

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

לקבלת מידע נוסף על ה-API Geospatial, עיינו במאמר מבוא ל-Geospatial API.

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

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

הפעלת ARCore API

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

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

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

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

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

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

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

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

  3. מגדירים את אובייקט המשחק ARCore Extensions כך שישתמש בתצורה ARCoreתוספותConfig. בחלונית היררכיה, מאתרים את אובייקט המשחק תוספי ARCore שיצרתם כשהגדרתם לראשונה את תוספי ARCore, ומחברים את השדה ARCore extensions Config (הגדרת התצורה של תוספי ARCore) לאובייקט ARCore ExtensionsConfig שניתן לסקריפט בתיקייה Assets.

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

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

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

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

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

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

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

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

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

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