ARCore ל-Jetpack XR

שילוב תוכן דיגיטלי בעולם האמיתי באמצעות יכולות חישה.
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסה אלפא
12 בדצמבר 2024 - - - 1.0.0-alpha01

הצהרת יחסי תלות

כדי להוסיף תלות ב-ARCore ל-Jetpack XR, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין ב מאגר Maven של Google.

מוסיפים את יחסי התלות של הארטיפקטים הנדרשים בקובץ build.gradle של האפליקציה או המודול:

מגניב

dependencies {
    implementation "androidx.xr.arcore:arcore:1.0.0-alpha01"
}

Kotlin

dependencies {
    implementation("androidx.xr.arcore:arcore:1.0.0-alpha01")
}

מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ל-build.

משוב

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

דיווח על בעיה חדשה

מידע נוסף זמין במסמכי התיעוד של Issue Tracker.

גירסה 1.0

גרסה 1.0.0-alpha01

12 בדצמבר 2024

androidx.xr.arcore:arcore-* 1.0.0-alpha01 משוחרר.

התכונות של הגרסה הראשונית

הספרייה ARCore ל-Jetpack XR, בהשראת הספרייה הקיימת של ARCore, מספקת יכולות לשילוב תוכן דיגיטלי עם העולם האמיתי. הספרייה הזו כוללת מעקב אחר תנועה, עוגנים קבועים, בדיקת התאמה (hit testing) וזיהוי מישורים באמצעות תיוג סמנטי (לדוגמה, רצפה, קירות ומשטחי שולחן). מידע נוסף על עבודה עם ARCore ל-Jetpack XR זמין במדריך למפתחים.

  • Session: ב-ARCore ל-Jetpack XR נעשה שימוש ב-Jetpack XR Runtime כדי להפעיל את הפונקציונליות שלו. תשתמשו בסשן כדי לקיים אינטראקציה עם רוב ממשקי ה-API של ARCore for Jetpack XR, לכן כדאי לעיין במסמכי העזרה שלו.

  • Plane: שימוש במטוסים כדי להבין את העולם סביבכם. לכל מישור יש Label שמתאר אותו מבחינה סמנטית. אפשר להשתמש ב-subscribe כדי לקבל התראות על המטוסים האחרונים שזוהו, או ב-state כדי לקבל התראות על השינויים במטוס ספציפי.

  • Anchor: קישור בין אובייקט וירטואלי לבין מיקום בעולם האמיתי. אפשר לצרף עוגנים למיקום ספציפי במרחב (באמצעות create) או לTrackable (באמצעות createAnchor).

    • אפשר לעשות שימוש חוזר בצירים בסשנים שונים. אפשר להשתמש ב-persist כדי לאחסן אותם, ב-getPersistedAnchorUuids כדי למנות אותם וב-load כדי לאחזר אותם. חשוב unpersist אותם כשהם לא בשימוש יותר.

    • אפשר להשתמש ב-Anchors ב-ARCore ל-Jetpack XR וב-Jetpack SceneCore. אפשר ליצור AnchorEntity באמצעות עוגן, או אם יש לכם ישות עוגן קיימת, תוכלו להשתמש ב-getAnchor כדי לאחזר את עוגן התמיכה שלה.

    • מציעים אינטראקציות טבעיות של משתמשים באמצעות hitTest. בדיקת היתקלות משתמשת ב-Ray כדי לקבוע אילו תכנים היא חוצה וליצור Anchor מהמיקום הזה. מומלץ לבצע בדיקת hitTest מ-InputEvent.

בעיות מוכרות

  • יכול להיות עיכוב בין הקריאה ל-unpersist לבין הסרת ה-UUID שלו מהתוצאות שמוחזרות על ידי getPersistedAnchorUuids.

  • create לא יאמת שיש למערכת מספיק משאבים כדי להחזיר עוגנים חדשים. יצירת כמות גדולה מדי של עוגנים עלולה לגרום לקריסה.

  • בשלב הזה אין תמיכה בשמירת עוגן שכבר נשמר בעבר וביטול השמירה שלו.

  • אפשר להשתמש ב-emulator, אבל יכול להיות שההתנהגות לא תהיה יציבה כמו כשמריצים במכשיר אמיתי. באופן ספציפי, קריאות ל-create עלולות להיכשל עם שגיאה בקוד מקורי ולסגור את הפעילות באופן מיידי.

  • במקרים מסוימים, יכול להיות ש-RuntimeException יושלח בטעות בקריאה ל-persist עם ההודעה "העוגן לא נשמר". במקרים כאלה, הפונקציה עדיין תצליח והעוגן יישמר. כפתרון זמני, מומלץ לעטוף את הקריאה ל-persist בבלוק try.