ARCore for Jetpack XR
| העדכון האחרון | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
|---|---|---|---|---|
| 22 באוקטובר 2025 | - | - | - | 1.0.0-alpha07 |
הצהרה על יחסי תלות
כדי להוסיף תלות ב-ARCore ל-Jetpack XR, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר Google's Maven repository (מאגר Maven של Google).
מוסיפים את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:
Groovy
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-alpha07" // Optional dependencies for asynchronous conversions implementation "androidx.xr.arcore:arcore-guava:1.0.0-alpha07" implementation "androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha07" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha07") // Optional dependencies for asynchronous conversions implementation("androidx.xr.arcore:arcore-guava:1.0.0-alpha07") implementation("androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha07") }
מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ב-build.
משוב
המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לשמוע מכם אם תגלו בעיות חדשות או אם יש לכם רעיונות לשיפור הספרייה הזו. לפני שיוצרים ספרייה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להוסיף את ההצבעה שלכם לבעיה קיימת, לוחצים על לחצן הכוכב.
מידע נוסף זמין במאמרי העזרה בנושא הכלי למעקב אחר בעיות.
גירסה 1.0
גרסה 1.0.0-alpha07
22 באוקטובר 2025
androidx.xr.arcore:arcore-*:1.0.0-alpha07 משוחרר. גרסה 1.0.0-alpha07 מכילה את הקומטים האלה.
תיקוני באגים
:xr:arcore:arcore-openxrנוסף כהסתמכות על הטמעה ב-:xr:arcore:arcore(I47315, b/446999229)
גרסה 1.0.0-alpha06
24 בספטמבר 2025
androidx.xr.arcore:arcore-*:1.0.0-alpha06 משוחרר. גרסה 1.0.0-alpha06 מכילה את הקומטים האלה.
שינויים ב-API
- התמיכה בבדיקה של
ARCoreעברה למודולxr:arcore:arcore-testing. (I25469) - הוספת
ArDeviceו-RenderViewpointכדי לאפשר לאפליקציות לאחזר את תנוחת המכשיר ואת הגדרות התצוגה למטרות רינדור. (Ib7e3f) - שינוי השם של סוגי ה-enum
HandJointTypeעם הקידומתHAND_JOINT_TYPE_. (I3f7cd) - הפריט
HandJointTypeהועבר אלxr:arcore:arcoreמ-xr:runtime:runtime. (Iadb9c, b/409058039) -
Hand.Stateחושף עכשיוjava.nio.FloatBufferעם התנוחות המשותפות בפורמט שמאפשר גישה קלה לאפליקציות שמתמקדות בביצועים. (I55e27)
גרסה 1.0.0-alpha05
30 ביולי 2025
הגרסאות androidx.xr.arcore:arcore:1.0.0-alpha05, androidx.xr.arcore:arcore-guava:1.0.0-alpha05 ו-androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05 יוצאות. גרסה 1.0.0-alpha05 מכילה את הקומטים האלה.
תכונות חדשות
- הוספת
getPrimaryHandSideכדי שהמפתח יוכל לקבל את המידע בצד (I270bd) - הוספת API לבדיקת הזמינות של VPS גיאו-מרחבי (I58573)
- הוספת ARCore API ל-
checkVpsAvailability(Idbded) - פונקציות ההרחבה
stateFlowableנוספו ל-:xr:arcore:arcore-rxjava3לשימוש של מפתחי Java. (I083aa, b/427247794)
שינויים ב-API
- השמות של ערכי ההגדרות
*Modeשונו כדי לשקף את ההתנהגות שלהם. (I6d247, b/414648065) - הארטיפקט הראשי של ARCore (xr:arcore:arcore) יכיל רק ממשקי API אסינכרוניים בסגנון Kotlin. מפתחי Java יכולים להסתמך על הספרייה
xr:arcore:arcore-rxjava3כדי לגשת לממשקי API תואמים. (Ia525e, b/422794329) - הארטיפקט הראשי של ARCore (
xr:scenecore:scenecore) יכיל רק ממשקי API אסינכרוניים בסגנון Kotlin. מפתחי Java יכולים להסתמך על הספרייהxr:arcore:arcore-guavaכדי לגשת לממשקי API תואמים. (Iffcb4, b/422773524) - הספרייה
Anchor.persistAsync()נוספה ל-AnchorGuavaלשימוש של מפתחי Java. (I4af1c, b/425984631) - הספרייה
Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)נוספה ל-EarthGuavaלשימוש של מפתחי Java. (I66357, b/425992992) - מפתחי Java ישתמשו בפונקציות ההרחבה של
GltfModel.createAsyncב-GltfModel.kt. פונקציות אסינכרוניות ב-GltfModelיימחקו. (I0af60) - הספרייה הזו משתמשת עכשיו בהערות לגבי ערכי null של JSpecify, שהן הערות לשימוש בסוגים. מפתחי Kotlin צריכים להשתמש בארגומנט הקומפיילר הבא כדי לאכוף שימוש נכון:
-Xjspecify-annotations=strict(זוהי ברירת המחדל החל מגרסה 2.1.0 של קומפיילר Kotlin) (Ia8420, b/326456246) - פונקציות ההרחבה
subscribeAsFlowableנוספו ל-:xr:arcore:arcore-rxjava3לשימוש של מפתחי Java. (Id3e49, b/427277298)
גרסה 1.0.0-alpha04
7 במאי 2025
androidx.xr.arcore:arcore:1.0.0-alpha04 משוחרר. גרסה 1.0.0-alpha04 מכילה את ההתחייבויות האלה.
שינויים ב-API
- כדי להשתמש בפרויקטים שפורסמו עם Kotlin 2.0, צריך KGP בגרסה 2.0.0 ומעלה. (Idb6b5)
-
TrackingStateו-HandJointTypeהועברו מ-ARCore ל-Runtime. - הערך של
Hand.State.isActive (boolean)השתנה ל-Hand.State.trackingState (androidx.xr.runtime.TrackingState). - הפונקציה
Anchor.loadמחזירהAnchor.AnchorLoadInvalidUuidאם ה-UUID לא תקין.
גרסה 1.0.0-alpha03
26 בפברואר 2025
הגרסה androidx.xr.arcore:arcore:1.0.0-alpha03 הושקה ללא שינויים משמעותיים מאז גרסת האלפא האחרונה. גרסה 1.0.0-alpha03 מכילה את הקומטים האלה.
גרסה 1.0.0-alpha02
12 בפברואר 2025
androidx.xr.arcore:arcore:1.0.0-alpha02 משוחרר. גרסה 1.0.0-alpha02 מכילה את ההתחייבויות האלה.
תכונות חדשות
- הוספנו תמיכה במעקב אחר תנועות הידיים. אפשר להשתמש ב
Hand.leftובHand.rightכדי לגשת לפרטי המעקב. - ממשקי API שיוצרים עוגן (
Anchor.create, Anchor.load, Plane.createAnchor) מחזירים עכשיו את הערךAnchorCreateResultומטמיעים אתAnchorCreateResourcesExhaustedבצורה תקינה.
תיקוני באגים
- השגיאה
Anchor.detachלא גורמת יותר לקריסה קטלנית בגלל מצב מירוץ עם השרשור של עדכון הסשן. Anchor.createיציב יותר כשמריצים אותו באמולטור
גרסה 1.0.0-alpha01
12 בדצמבר 2024
androidx.xr.arcore:arcore-* 1.0.0-alpha01 משוחרר.
תכונות של הגרסה הראשונה
ספריית ARCore for Jetpack XR, שנוצרה בהשראת ספריית ARCore הקיימת, מספקת יכולות לשילוב תוכן דיגיטלי עם העולם האמיתי. הספרייה הזו כוללת מעקב תנועה, עוגנים קבועים, בדיקות פגיעה וזיהוי מישור עם תיוג סמנטי (לדוגמה, רצפה, קירות ומשטחי שולחן). מידע נוסף על עבודה עם ARCore for Jetpack XR זמין במדריך למפתחים.
Session: ARCore for Jetpack XR משתמש בסביבת זמן הריצה של Jetpack XR כדי להפעיל את הפונקציונליות שלו. תשתמשו באובייקט Session כדי לבצע אינטראקציה עם רוב ממשקי ה-API של ARCore for Jetpack XR, לכן כדאי לעיין במסמכי התיעוד שלו.
Plane: שימוש במטוסים כדי להבין את העולם שסביבכם. לכל מטוס ישLabelשמתאר אותו מבחינה סמנטית. אתם יכולים להשתמש באפשרותsubscribeכדי לקבל התראות על המטוסים האחרונים שזוהו, או באפשרותstateכדי לקבל התראות על שינויים במטוס מסוים.
Anchor: קישור בין אובייקט וירטואלי לבין מיקום בעולם האמיתי. אפשר לצרף עוגנים למיקום ספציפי במרחב (באמצעותcreate) או לTrackable(באמצעותcreateAnchor).אפשר לעשות שימוש חוזר בעוגנים בסשנים שונים. אפשר להשתמש ב-
persistכדי לאחסן אותם, ב-getPersistedAnchorUuidsכדי למנות אותם וב-loadכדי לאחזר אותם. חשוב לוודא שunpersistאותם כשאין בהם יותר צורך.אפשר להשתמש באובייקטים מסוג Anchor גם ב-ARCore for Jetpack XR וגם ב-Jetpack SceneCore. אפשר ליצור
AnchorEntityבאמצעות עוגן, או שאם יש לכם AnchorEntity קיים, אתם יכולים להשתמש ב-getAnchorכדי לאחזר את העוגן שתומך בו.להציע אינטראקציות טבעיות עם המשתמשים באמצעות
hitTest. בדיקת פגיעה משתמשת ב-Rayכדי לקבוע אילו תכנים היא חותכת וליצורAnchorמהמיקום הזה. כדאי לשקול לבצע hitTest מתוךInputEvent.
בעיות מוכרות
יכול להיות שיהיה עיכוב בין הקריאה ל-
unpersistלבין הסרת ה-UUID שלה מהתוצאות שמוחזרות על ידיgetPersistedAnchorUuids.
createלא יאמת שלמערכת יש מספיק משאבים כדי להחזיר עוגנים חדשים. יצירת כמות גדולה מדי של עוגנים עלולה לגרום לקריסה.בשלב הזה אין תמיכה בשמירה של עוגן שנשמר בעבר ואז בוטלה השמירה שלו.
השימוש באמולטור נתמך, אבל יכול להיות שההתנהגות לא תהיה יציבה כמו כשמריצים את האפליקציה במכשיר בפועל. במיוחד, יכול להיות שקריאות ל-
createייכשלו עם שגיאה בקוד מקורי והפעילות תופסק באופן מיידי.במקרים מסוימים, יכול להיות שיוחזר ערך שגיאה
RuntimeExceptionבאופן שגוי כשקוראים לפונקציהpersistעם ההודעה 'העוגן לא נשמר'. במקרים כאלה, הפונקציה עדיין תפעל והעוגן יישמר. כפתרון עקיף, מומלץ להוסיף את הקריאה ל-persistבבלוקtry.