שינויים חדשים וחשובים ב-ARCore.
מה חדש ב-ARCore גרסה 1.51.0
שינויים אחרים
העדכון של דוגמאות Java
minSdkVersionSharedCamera ו-RawDepth הוא לגרסה 23.העדכון של הדוגמה hello_ar_vulkan_c הפך אותה לאפליקציה פונקציונלית מלאה, שמדגימה הטמעה מלאה של Vulkan בתכונות מרכזיות של ARCore. כולל את התכונות שמוצגות ב-hello_ar_c וטשטוש של מישורים.
מה חדש ב-ARCore גרסה 1.50.0
שינויים ב-targetSdkVersion של ARCore SDK
ARCore targetSdkVersion עודכן לרמת API 36 ב-Android. אם האפליקציה לא מציינת targetSdkVersion, הערך של targetSdkVersion באפליקציה יהיה 36 בגלל מיזוג המניפסט.
ב-Unity, אם מציינים רמת API לטרגוט בהגדרות הפרויקט > Player > Android > Other Settings של פרויקט Unity, הערך targetSdkVersion של ARCore יידרס.
מה חדש ב-ARCore גרסה 1.49.0
תיקוני באגים ושיפורי ביצועים שונים
מה חדש ב-ARCore גרסה 1.48.0
השקנו תמיכה מלאה ב-Unity 6 וב-AR Foundation 6
ARCore Extensions for Unity's AR Foundation תומך עכשיו ב-AR Foundation 6. כדי לקבל גרסה תואמת של ARCore Extensions ל-AR Foundation, משתמשים בשיטות ההתקנה הבאות:
- דרך
Add package from git url...: משתמשים ב-https://github.com/google-ar/arcore-unity-extensions.git#arf6, - דרך
Add package from tarball...: משתמשים בגרסה שמסומנת ב-arf6מדף הגרסאות.
כדי לשדרג את הפרויקט מ-AR Foundation 5 ל-AR Foundation 6, אפשר לעיין במדריך הבא.
שינויים שעלולים לגרום לכשל ושינויים התנהגותיים
- ה-SDK לא תומך יותר ביעדי פריסה לגרסאות iOS < 13.0
מה חדש ב-ARCore גרסה 1.47.0
תמיכה בגרסת בטא ב-Unity 6 וב-AR Foundation 6
ARCore Extensions for Unity's AR Foundation כולל עכשיו תמיכת בטא ב-AR Foundation 6 כדי לספק תמיכה ב-Unity 6. כדי לקבל גרסה תואמת של ARCore Extensions ל-AR Foundation, משתמשים בשיטות ההתקנה הבאות:
- דרך
Add package from git url...: משתמשים ב-https://github.com/google-ar/arcore-unity-extensions.git#arf6, - דרך
Add package from tarball...: משתמשים בגרסה שמסומנת ב-arf6מדף הגרסאות.
כדי לשדרג את הפרויקט מ-AR Foundation 5 ל-AR Foundation 6, אפשר לעיין במדריך הבא.
תיקוני באגים
- תוקן המישור של דוגמת עוגן בענן שלא היה שקוף ב-Unity 6
שינויים אחרים
- ההסתעפות
mainבמאגר GitHub של ARCore Extensions הוחלפה כדי לעקוב אחרי ההסתעפותarf5.
מה חדש ב-ARCore גרסה 1.46.0
שינויים ב-targetSdkVersion של ARCore SDK
ARCore targetSdkVersion עודכן לרמת API 35 ב-Android. אם האפליקציה לא מציינת targetSdkVersion, targetSdkVersion של האפליקציה יהיה 35 בגלל מיזוג המניפסט.
ב-Unity, אם מציינים רמת API לטרגוט בהגדרות הפרויקט > Player > Android > Other Settings של פרויקט Unity, הערך targetSdkVersion של ARCore יידרס.
מה חדש ב-ARCore גרסה 1.45.0
Flash Mode API
ARCore תומך עכשיו בהפעלת מצב הפנס של המכשיר, וכך מאפשר יכולות תפיסה טובות יותר בסביבות חשוכות.
Android (Kotlin/Java)
-
Config.FlashMode: אפשרות הגדרה להפעלה או להשבתה של יחידת הפלאש במכשיר. - מידע נוסף על זיהוי יכולות הפלאש ועל הפעלת מצב הפנס זמין במדריך למפתחים.
Android NDK (C)
-
ArFlashMode: אפשרות הגדרה להפעלה או להשבתה של יחידת הפלאש במכשיר. - מידע נוסף על זיהוי יכולות הפלאש ועל הפעלת מצב הפנס זמין במדריך למפתחים.
ARCore Extensions for Unity's AR Foundation תומך ב-AR Foundation 5
ARCore Extensions for AR Foundation תומך עכשיו באופן רשמי ב-AR Foundation 5. כשמשתמשים ב-AR Foundation 5 (הגרסה המאומתת בגרסאות Unity 2022 ו-2023), צריך להשתמש בשיטות ההתקנה הבאות כדי לקבל גרסה תואמת של ARCore Extensions for AR Foundation:
- באמצעות
Add package from git url...: משתמשים ב-https://github.com/google-ar/arcore-unity-extensions.git#arf5, - עד
Add package from tarball...: משתמשים בגרסה שמסומנת ב-arf5מדף הגרסאות.
בפרויקטים שעדיין מבוססים על AR Foundation גרסה 4, אפשר להשתמש בשיטות ההתקנה הבאות:
- באמצעות
Add package from git url...: משתמשים ב-https://github.com/google-ar/arcore-unity-extensions.git#arf4, - עד
Add package from tarball...: משתמשים בגרסה שמסומנת ב-arf4מדף הגרסאות.
כדי לשדרג את הפרויקט מ-AR Foundation 4 ל-AR Foundation 5, אפשר לעיין במדריך להעברת נתונים (מיגרציה).
סמלים של סקריפטים בהתאמה אישית
כמו ARCORE_USE_ARF_5 מתמיכת הבטא לא נמצאים יותר בשימוש.
מה חדש ב-ARCore גרסה 1.44.0
בגרסה הזו אין תכונות חדשות.
מה חדש ב-ARCore גרסה 1.43.0
העברה של Places API ב-Geospatial Creator
התכונה'חיפוש' ב-Geospatial Creator משתמשת עכשיו ב-New Places API של Google. כדי להשתמש בתכונת החיפוש, צריך להפעיל את Places API (New) במסוף Google Cloud.
מה חדש ב-ARCore גרסה 1.42.0
הצמדה למשבצת ב-Geospatial Creator ל-Unity
לחצן 'הצמדה למשבצת' נוסף לחלונית ARGeospatialCreatorAnchorEditor Inspector. הלחצן הזה מגדיר את ערך הגובה של עוגן Terrain או Rooftop (עוגן שזמין רק בעורך) לראש גיאומטריית ה-3D Tile בקו הרוחב ובקו האורך הנוכחיים של העוגן. הערה: המאפיין הזה לא משפיע על ההתנהגות בזמן הריצה. כך אפשר להתאים את מיקום העוגן בעורך למיקום שלו בזמן הריצה.
מה חדש ב-ARCore גרסה 1.41.0
Geospatial Creator API
התוסף Geospatial Creator for Unity כולל עכשיו תמיכה ביצירה ובשינוי של אובייקטים של Geospatial Creator במצב Editor. המחלקות וממשקי ה-API החדשים שזמינים מתוארים ב-Geospatial Creator API Guide.
תמיכה בגרסאות 5.x של AR Foundation (בטא)
ARCore Extensions for Unity's AR Foundation תומך עכשיו בגרסאות AR Foundation 5.x. במדריך להעברת נתונים מוסבר איך מעבירים פרויקט קיים ל-AR Foundation.
מה חדש ב-ARCore גרסה 1.40.0
סמנטיקה של סצנות ב-iOS
Scene Semantics API זמין עכשיו ב-ARCore SDK ל-iOS וגם ב-ARCore Extensions ל-AR Foundation של Unity שמיועד ל-iOS. Scene Semantics API מאפשר למפתחים להבין את הסצנה שמסביב למשתמש בזמן אמת, ולסווג פיקסלים ל-11 קטגוריות של רכיבים חיצוניים. מידע נוסף זמין במאמר מבוא לסמנטיקה של סצנות.
iOS
Unity (AR Foundation)
חיפוש נקודות עניין ב-Geospatial Creator for Unity
הכלי Geospatial Creator for Unity תומך עכשיו בחיפוש טקסטואלי כדי למקם את התצוגה של Photographic 3D Tiles. מידע נוסף זמין במאמר חיפוש נקודות עניין ב-Geospatial Creator.
מה חדש ב-ARCore גרסה 1.39.0
בגרסה הזו אין תכונות חדשות.
מה חדש ב-ARCore גרסה 1.38.0
בגרסה הזו אין תכונות חדשות.
מה חדש ב-ARCore גרסה 1.37.0
סמנטיקה של סצנות
התכונה 'סמנטיקה של סצנות' מספקת פרטים עשירים יותר על הסצנה שמסביב, וכך קל יותר להבין את העולם שסובב את המשתמש. התכונה 'סמנטיקה של סצנות' מריצה מודל ML על פיד התמונות מהמצלמה ומספקת תמונה סמנטית שבה כל פיקסל תואם לאחת מ-11 תוויות של מושגים שקשורים לסביבה החיצונית.
למידע נוסף, אפשר לעיין במאמר היכרות עם סמנטיקה של סצנות ובאפליקציית הדוגמה semantics_java.
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
iOS
גיאומטריית נוף רחוב
Streetscape Geometry הוא ממשק ARCore Geospatial API חדש שמספק את הגיאומטריה של בניינים ושטחים באזור מסוים סביב המשתמש, כשה-Geospatial API מופעל.
Android (Kotlin/Java)
מדריך למפתחים בנושא גיאומטריית נוף רחוב (Kotlin/Java) בנוסף, אפליקציית הדוגמה geospatial_java עודכנה כך שתכלול את Streetscape Geometry.
Android NDK (C)
מידע נוסף זמין במדריך למפתחים בנושא גיאומטריית נוף רחוב (C).
Unity (AR Foundation)
מידע נוסף זמין במדריך למפתחים בנושא גיאומטריית נוף רחוב (Unity).
iOS
מידע נוסף זמין במדריך למפתחים בנושא גיאומטריית נוף רחוב (iOS). בנוסף, עדכנו את האפליקציה GeospatialExample כך שתכלול את Streetscape Geometry.
GARStreetscapeGeometry:-
GARStreetscapeGeometry.meshמספקת רשתות תלת-ממדיות. -
GARStreetscapeGeometry.meshTransformמספק את טרנספורמציית המקור של הגיאומטריה ביחס למרחב העולם של הסשן. GARStreetscapeGeometry.trackingStateשומרת את מצב המעקב.-
GARStreetscapeGeometry.typeמציין אם מדובר בטופוגרפיה או בגיאומטריה של בניין. GARStreetscapeGeometry.qualityמספק את איכות הגיאומטריה.-
GARStreetscapeGeometry.identifierמספק את המזהה הייחודי של הגיאומטריה. -
GARSession.createAnchorOnStreetscapeGeometry:transform:error:יוצרת עוגן במיקום ובכיוון שצוינו. -
GARSession.raycastStreetscapeGeometry:direction:error:מבצע raycast על גיאומטריית נוף רחוב שנטענה בסצנה.
עוגנים על הגג
עוגנים על גגות הם סוג חדש של עוגנים גיאו-מרחביים שעוזרים לעגן תוכן על גג.
Android (Kotlin/Java)
מידע נוסף על עוגנים גיאו-מרחביים (Java) בנוסף, אפליקציית הדוגמה geospatial_java עודכנה וכוללת עכשיו עוגנים על גגות.
Android NDK (C)
מידע נוסף זמין במאמר בנושא עוגנים גיאוספציאליים (C).
Unity (AR Foundation)
מידע נוסף זמין במאמר בנושא עוגנים גיאוגרפיים. בנוסף, הדוגמה הגיאוספציאלית עודכנה וכוללת עכשיו עוגנים על גגות.
-
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()מספק עוגן לאובייקטים של המשחק בסצנה בקו הרוחב, בקו האורך, בגובה מעל הגג ובכיוון שצוינו. ResolveAnchorOnRooftopPromiseResolveAnchorOnRooftopResult
iOS
מידע נוסף זמין במאמר בנושא עוגנים גיאוספציאליים (iOS). בנוסף, אפליקציית GeospatialExample עודכנה כך שתכלול עוגנים על גגות.
-
GARSession.createAnchorWithCoordinate:altitudeAboveRooftop:eastUpSouthQAnchor:completionHandler:error:יוצר עוגן על גג במיקום שצוין, בגובה מעל הגג במטרים ובכיוון יחסית לכדור הארץ. -
GARCreateAnchorOnRooftopFutureמחזיק את המצב האסינכרוני של פתרון עוגן על הגג. -
GARRooftopAnchorStateמתאר את מצב הפתרון של עוגן על הגג.
עומק גיאוגרפי
כשמפעילים גם את Depth API וגם את מצבי Streetscape Geometry בסשן ARCore באזורים עם כיסוי VPS, תמונות העומק שנוצרות משתפרות באמצעות Streetscape Geometry. הגיאומטריה של תצלומי הרחוב משולבת בכל תמונת עומק שנוצרת, עד לטווח של 65,535 מטרים. אין צורך לבצע שינויים כשקוראים ל-Depth API כדי ליהנות מהיתרון הזה.
Android (Kotlin/Java)
מידע נוסף זמין במאמר Geospatial Depth (Java).
Android NDK (C)
מידע נוסף זמין במאמר בנושא עומק גיאוספציאלי (C).
Unity (AR Foundation)
מידע נוסף זמין במאמר בנושא עומק גיאוספציאלי (C).
iOS
התכונה 'סמנטיקה של סצנות' לא זמינה כרגע ב-iOS.
תמיכה ברינדור של Vulkan
ARCore מספק עכשיו תמיכה ברינדור של Vulkan על ידי חשיפת תמונת המצלמה דרך AHardwareBuffer. אפשר להשתמש ב-Hardware Buffer על ידי קישור שלו ל-VkImage.
למידע נוסף, אפשר לעיין במאמר בנושא Rendering your ARCore application using Vulkan ובאפליקציית הדוגמה hello_ar_vulkan_c.
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
כרגע, עיבוד Vulkan לא זמין ל-Unity באמצעות AR Foundation.
ייצוב תמונה אלקטרוני (EIS)
אתם יכולים להגדיר את ARCore כך שישתמש בייצוב תמונה אלקטרוני, שמחליק את פריימים המצלמה כדי ליצור חוויית משתמש חלקה יותר.
מידע נוסף זמין במאמר בנושא הפעלת ייצוב תמונה אלקטרוני ובאפליקציית הדוגמה hello_eis_kotlin.
Android (Kotlin/Java)
Config.ImageStabilizationModeFrame.transformCoordinates3d()Session.isImageStabilizationModeSupported()- יש בעיה מוכרת שבה קריאה ל-
Frame.transformCoordinates3d()עם קואורדינטות דו-ממדיות שאינןOPENGL_NORMALIZED_DEVICE_COORDINATESתגרום לקריסה במקום להחזרתIllegalArgumentException. הבעיה הזו תיפתר במהדורה הבאה.
Android NDK (C)
ArImageStabilizationModeArFrame_transformCoordinates3d()ArSession_isImageStabilizationModeSupported()- יש בעיה מוכרת שבה קריאה ל-
ArFrame_transformCoordinates3d()עם קואורדינטות דו-ממדיות שאינןAR_COORDINATES_2D_OPENGL_NORMALIZED_DEVICE_COORDINATESתגרום להפסקת הפעולה של האפליקציה במקום להחזירAR_ERROR_INVALID_ARGUMENT. הבעיה הזו תיפתר במהדורה הבאה.
Unity (AR Foundation)
נכון לעכשיו, EIS לא זמין ל-Unity באמצעות AR Foundation.
iOS
בשלב הזה, EIS לא זמין ב-iOS.
ARCore async APIs
בגרסה הזו מוצגים ממשקי API חדשים של ARCore אסינכרוניים, כדי לשפר את הארגונומיה כשעובדים עם פעולות אסינכרוניות, בהתאם לפרדיגמה של Future ו-Promise.
Android (Kotlin/Java)
- פתרון של עוגני שטח: משתמשים ב-
Earth.resolveAnchorOnTerrainAsync()כדי לקבלResolveAnchorOnTerrainFuture. הסמל הישןEarth.resolveAnchorOnTerrain()הוצא משימוש ועשוי להיות מוסר בגרסה מאוחרת יותר של ARCore. - פתרון עוגנים בענן: משתמשים ב-
Session.resolveCloudAnchorAsync()כדי לקבלResolveCloudAnchorFuture. הסמל הישןSession.resolveCloudAnchor()הוצא משימוש ועשוי להיות מוסר בגרסה מאוחרת יותר של ARCore. - אירוח של עוגנים בענן: משתמשים ב-
Session.hostCloudAnchorAsync()כדי לקבלHostCloudAnchorFuture. הסמלים הישניםSession.hostCloudAnchor()ו-Session.hostCloudAnchorWithTtl()הוצאו משימוש ויכול להיות שיוסרו בגרסה מאוחרת יותר של ARCore. - בודקים את הזמינות של ה-APK: משתמשים ב-
ArCoreApk.checkAvailabilityAsync()כדי לרשום קריאה חוזרת (callback). הסמל הישןArCoreApk.checkAvailability()לא הוצא משימוש.
Android NDK (C)
- פתרון של עוגני שטח: משתמשים ב-
ArEarth_resolveAnchorOnTerrainAsync()כדי לקבלArResolveAnchorOnTerrainFutureאו משתמשים ב-ArResolveAnchorOnTerrainCallback. הסמל הישןArEarth_resolveAndAcquireNewAnchorOnTerrain()הוצא משימוש ועשוי להיות מוסר בגרסה מאוחרת יותר של ARCore. - פתרון עוגנים בענן: משתמשים ב-
ArSession_resolveCloudAnchorAsync()כדי לקבלArResolveCloudAnchorFutureאו משתמשים ב-ArResolveCloudAnchorCallback. הסמל הישןArSession_resolveAndAcquireNewCloudAnchor()הוצא משימוש ועשוי להיות מוסר בגרסה מאוחרת יותר של ARCore. - אירוח עוגנים של Cloud: משתמשים ב-
ArSession_hostCloudAnchorAsync()כדי לקבלArHostCloudAnchorFutureאו משתמשים ב-ArHostCloudAnchorCallback. הסמלים הישניםArSession_hostAndAcquireNewCloudAnchor()ו-ArSession_hostAndAcquireNewCloudAnchorWithTtl()הוצאו משימוש ויכול להיות שיוסרו בגרסה מאוחרת יותר של ARCore. - בודקים את הזמינות של ה-APK: משתמשים ב-
ArCoreApk_checkAvailabilityAsync()כדי לרשום קריאה חוזרת (callback). הסמל הישןArCoreApk_checkAvailability()לא הוצא משימוש.
Unity (AR Foundation)
- פתרון של עוגני שטח: משתמשים ב-
ARAnchorManagerExtensions.ResolveAnchorOnTerrainAsync()כדי לקבלResolveAnchorOnTerrainPromise. הסמל הישןARAnchorManagerExtensions.ResolveAnchorOnTerrain()הוצא משימוש ועשוי להיות מוסר בגרסה מאוחרת יותר של ARCore. - פתרון עוגנים בענן: משתמשים ב-
ARAnchorManagerExtensions.ResolveCloudAnchorAsync()כדי לקבלResolveCloudAnchorPromise. הסמל הישןARAnchorManagerExtensions.ResolveCloudAnchorId()הוצא משימוש ועשוי להיות מוסר בגרסה מאוחרת יותר של ARCore. - אירוח של עוגנים בענן: משתמשים ב-
ARAnchorManagerExtensions.HostCloudAnchorAsync()כדי לקבלHostCloudAnchorPromise. הסמלים הישנים שלARAnchorManagerExtensions.HostCloudAnchor()הוצאו משימוש ועשויים להיות מוסרים בגרסה מאוחרת יותר של ARCore.
iOS
- פתרון של עוגני שטח: משתמשים ב-
GARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:completionHandler:error:כדי לקבלGARCreateAnchorOnTerrainFuture. הסמל הישןGARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:error:הוצא משימוש ועשוי להיות מוסר בגרסה מאוחרת יותר של ARCore. - פתרון עוגנים בענן: משתמשים ב-
GARSession.resolveCloudAnchorWithIdentifier:completionHandler:error:כדי לקבלGARResolveCloudAnchorFuture. הסמל הישןGARSession.resolveCloudAnchorWithIdentifier:error:הוצא משימוש ועשוי להיות מוסר בגרסה מאוחרת יותר של ARCore. - אירוח עוגנים בענן: משתמשים ב-
GARSession.hostCloudAnchor:TTLDays:completionHandler:error:כדי לקבלGARHostCloudAnchorFuture. הסמלים הישניםGARSession.hostCloudAnchor:error:ו-GARSession.hostCloudAnchor:TTLDays:error:הוצאו משימוש ויכול להיות שיוסרו בגרסה מאוחרת יותר של ARCore.
מה חדש ב-ARCore גרסה 1.36.0
תמיכה ב-Swift Package Manager ב-iOS
ARCore SDK ל-iOS תומך עכשיו באופן רשמי ב-Swift Package Manager. הוראות לשילוב עם ARCore באמצעות Swift Package Manager זמינות במאמר הפעלת AR באפליקציית iOS.
מה חדש ב-ARCore גרסה 1.35.0
דיוק המיקום הגיאוגרפי מחליף את הכיוון בזווית סבסוב
כל המיקומים הגיאוגרפיים חושפים עכשיו את דיוק הכיוון שלהם בסיבוב סביב הציר האנכי, במקום דיוק הכיוון.
- Java/Kotlin: מחליפים את
GeospatialPose.getHeading()ב-GeospatialPose.getEastUpSouthQuaternion()ואתGeospatialPose.getHeadingAccuracy()ב-GeospatialPose.getOrientationYawAccuracy(). - C: מחליפים את
ArGeospatialPose_getHeading()ב-ArGeospatialPose_getEastUpSouthQuaternion()ואתArGeospatialPose_getHeadingAccuracy()ב-ArGeospatialPose_getOrientationYawAccuracy(). - iOS: מחליפים את
GARGeospatialTransform.headingב-GARGeospatialTransform.eastUpSouthQTargetואתGARGeospatialTransform.headingAccuracyב-GARGeospatialTransform.orientationYawAccuracy. - Unity: מחליפים את
GeospatialPose.Headingב-GeospatialPose.EunRotationואתGeospatialPose.HeadingAccuracyב-GeospatialPose.OrientationYawAccuracy.
שינויים ועדכונים נוספים
שינויים נוספים, תיקוני באגים ושיפורי ביצועים מפורטים בנתוני הגרסה:
- נתוני גרסה של ARCore SDK ל-Android
- נתוני גרסה של ARCore ל-Android NDK
- הערות לגבי הגרסה של ARCore SDK ל-iOS
- הערות מוצר של ARCore Extensions for AR Foundation
מה חדש ב-ARCore גרסה 1.34.0
בודקים אם היכולות הגיאו-מרחביות זמינות במיקום הנוכחי של המכשיר
ה-Geospatial API יכול עכשיו לבדוק את הזמינות של Visual Positioning System (VPS) במיקום אופקי שצוין בזמן הריצה. אפשר להשתמש ב-API הזה בלי הפעלה של סשן AR: למשל, כדי להציג את הלחצן 'כניסה למציאות רבודה' רק כש-VPS זמין.
- Java/Kotlin:
Session.checkVpsAvailabilityAsync() - C:
ArSession_checkVpsAvailabilityAsync() - iOS:
GARSession.checkVPSAvailabilityAtCoordinate:completionHandler: - Unity (AR Foundation):
AREarthManager.CheckVpsAvailability()
כיוון תנוחה גיאו-מרחבית
עכשיו אפשר לראות את הכיוון של תנוחות גיאוספציאליות במרחב תלת-ממדי.
- Java/Kotlin:
feedbackGeospatialPose.getEastUpSouthQuaternion() - C:
ArEarth_getGeospatialPose() - iOS:
GARGeospatialTransform.eastUpSouthQTarget - Unity:
GeospatialPose.EunRotation()
המרות של מיקום גיאו-מרחבי
עכשיו אפשר להמיר תנוחות גיאוספציאליות לתנוחות במרחב העולמי (AR) ולהפך.
כדי לקבל את המיקום הגיאוגרפי ממיקום במציאות רבודה:
- Java/Kotlin:
Earth.getGeospatialPose() - C:
ArEarth_getGeospatialPose() - iOS:
GARSession.geospatialTransformFromTransform:error: - Unity:
AREarthManager.Convert(Pose)
כדי לקבל את תנוחת ה-AR מתנוחה גיאו-מרחבית:
- Java/Kotlin:
Earth.getPose() - C:
ArEarth_getPose() - iOS:
GARSession.transformFromGeospatialCoordinate:altitude:eastUpSouthQTarget:error: - Unity:
AREarthManager.Convert(GeospatialPose)
לפוזיציות הגיאוספציאליות שמתקבלות מהפונקציות האלה יש ערך כיוון שמוגדר לאפס. במקום זאת, משתמשים ב:
- Android (Java/Kotlin/C): קווטרניון ה-EUS של התנוחה
- iOS:
eastUpSouthQTargetשל התנוחה - Unity:
EunRotationשל התנוחה
שינויים ועדכונים נוספים
שינויים נוספים, תיקוני באגים ושיפורי ביצועים מפורטים בנתוני הגרסה:
- נתוני גרסה של ARCore SDK ל-Android
- נתוני גרסה של ARCore ל-Android NDK
- הערות לגבי הגרסה של ARCore SDK ל-iOS
- הערות מוצר של ARCore Extensions for AR Foundation
מה חדש ב-ARCore גרסה 1.33.0
נקודת קצה חדשה של Cloud Anchors
- כדי להשתמש ב-Cloud Anchors, צריך להפעיל את ARCore API במקום את ARCore Cloud Anchor API הישן יותר, שהוצא משימוש. כדי לתמוך בגרסאות ישנות יותר של האפליקציה, אפשר להפעיל את שניהם במהלך המעבר. אפליקציות שפותחו באמצעות ARCore SDK בגרסה 1.32.0 ומטה יטרגטו את ה-API הישן, ואילו אפליקציות שפותחו באמצעות ARCore SDK בגרסה 1.33.0 ומעלה יטרגטו את ה-API החדש. חשוב לזכור:
- ב-API החדש נעשה שימוש בשם הדומיין
arcore.googleapis.comבמקוםarcorecloudanchor.googleapis.com. - אם אתם משתמשים במפתח API שמוגבל על ידי API, אתם צריכים לאפשר את ARCore API.
- אם אתם שולחים בקשות אל ARCore Cloud Anchor Management API מהקצה העורפי, אתם צריכים לשנות את שם הדומיין ל-
arcore.googleapis.comאחרי הפעלת ARCore API. - נמשיך לתמוך ב-API או בנקודת הקצה הישנים עד אוגוסט 2023.
- פרטים נוספים זמינים במאמר שינויים בנקודת הקצה של עוגן בענן ב-ARCore 1.33.
- ב-API החדש נעשה שימוש בשם הדומיין
עוגנים של שטח
- Geospatial Terrain anchor API יוצר עוגן במיקום אופקי ובגובה שצוינו ביחס לטופוגרפיה של המיקום האופקי.
שינויים ועדכונים נוספים
שינויים נוספים, תיקוני באגים ושיפורי ביצועים מפורטים בנתוני הגרסה:
- נתוני גרסה של ARCore SDK ל-Android
- נתוני גרסה של ARCore ל-Android NDK
- הערות לגבי הגרסה של ARCore SDK ל-iOS
- הערות מוצר של ARCore Extensions for AR Foundation
מה חדש ב-ARCore גרסה 1.32.0
בגרסה הזו אין תכונות חדשות.
Android ו-Unity (AR Foundation) ל-Android
- ARCore
targetSdkVersionעודכן לרמת API 32 ב-Android. אם האפליקציה לא מציינתtargetSdkVersion, הערך שלtargetSdkVersionבאפליקציה יהיה 32 בגלל מיזוג המניפסט.- Android SDK: אם מציינים
targetSdkVersionב-build.gradleאו ב-AndroidManifest.xmlשל הפרויקט, הערך שלtargetSdkVersionב-ARCore יוחלף. - AR Foundation ל-Android: אם מציינים רמת API לטירגוט ב-Project Settings > Player > Android > Other Settings (הגדרות הפרויקט > נגן > Android > הגדרות אחרות) בפרויקט Unity, הערך של ARCore
targetSdkVersionיוחלף.
- Android SDK: אם מציינים
שינויים ועדכונים נוספים
שינויים נוספים, תיקוני באגים ושיפורי ביצועים מפורטים בנתוני הגרסה:
- נתוני גרסה של ARCore SDK ל-Android
- נתוני גרסה של ARCore ל-Android NDK
- הערות לגבי הגרסה של ARCore SDK ל-iOS
- הערות לגבי הגרסה של ARCore Extensions for AR Foundation
מה חדש ב-ARCore גרסה 1.31.0
ARCore Geospatial API
ממשק ה-API הגיאו-מרחבי החדש של ARCore משתמש בנתונים ממודלים תלת-ממדיים של Google Earth ובנתוני תמונות של Street View ממפות Google כדי לאפשר לאפליקציה שלכם לספק חוויות מציאות רבודה סוחפות, גלובליות ומבוססות-מיקום.
במאמר מבוא ל-ARCore Geospatial API אפשר למצוא תיעוד למפתחים שספציפי לפלטפורמה, וגם הוראות לתחילת העבודה עם Geospatial API החדש.
עומק לטווח ארוך
ARCore Depth API עבר אופטימיזציה כך שיכלול חישה של עומק בטווח רחב יותר, וכך יגדיל את טווח התצפיות של העומק שניתן לייצג. כל 16 הביטים של תמונת העומק משמשים, ומספקים טווח מקסימלי של 65,535 מילימטרים. בעבר, רק 13 ביטים אוכלסו, עם מגבלה של 8,191 מילימטרים.
במאמרי העזרה למפתחים בנושאים שקשורים לפלטפורמה מוסבר על השינויים ב-Depth API.
הערות ספציפיות לפלטפורמה
Android
ממשקי ARCore Geospatial API חדשים
Java
-
Earthמספק יכולת לוקליזציה בקואורדינטות יחסיות ל-Earth.-
Earth.createAnchor()יוצרAnchorחדש במיקום ובכיוון שצוינו ביחס לכדור הארץ.
-
-
Earth.Earthstateמתאר את המצב הנוכחי שלEarth, כוללTrackingState. -
GeospatialPoseמתאר מיקום ספציפי, גובה וכיוון מצפן ביחס לכדור הארץ.
-
C
-
ArEarthמאפשר לוקליזציה בקואורדינטות יחסיות ל-Earth.-
ArEarth_acquireNewAnchor()יוצרAnchorחדש במיקום ובכיוון שצוינו ביחס לכדור הארץ. -
ArEarthStateמתאר את המצב הנוכחי שלArEarth, כוללArTrackingState.
-
-
ArGeospatialPoseמתאר מיקום ספציפי, גובה וכיוון מצפן ביחס לכדור הארץ.
-
עדכון של ממשקי ARCore Depth APIs
Java
- השתנו הקריאות לפונקציות של Depth API:
Frame.acquireDepthImageכדיFrame.acquireDepthImage16Bits.Frame.acquireRawDepthImageכדיFrame.acquireRawDepthImage16Bits.- פורמטי התמונות של הפלט בשתי השיחות השתנו מ-
android.graphics.ImageFormat#DEPTH16ל-android.hardware.HardwareBuffer#D_16. - העומק עדיין מיוצג כמספר שלם בן 16 ביט ביחידות של מילימטרים, אבל עכשיו נעשה שימוש בכל 16 הביטים כדי לייצג את העומק, מה שמאפשר לטווח המקסימלי של העומק להיות בין 8,191 מ'מ ל-65,535 מ'מ.
- הוצאנו משימוש את הקריאות לפונקציות Depth API:
Frame.acquireDepthImageו-Frame.acquireRawDepthImage. במקומה צריך להשתמש ב-Frame.acquireDepthImage16Bitsוב-Frame.acquireRawDepthImage16Bits.
- השתנו הקריאות לפונקציות של Depth API:
C
- השתנו הקריאות לפונקציות של Depth API:
ArFrame_acquireDepthImageכדיArFrame_acquireDepthImage16Bits.ArFrame_acquireRawDepthImageעדArFrame_acquireRawDepthImage16Bits- פורמט התמונה של הפלט בשתי השיחות השתנה מ-
AR_IMAGE_FORMAT_DEPTH16ל-AR_IMAGE_FORMAT_D_16. - העומק עדיין מיוצג כמספר שלם בן 16 ביט ביחידות של מילימטרים, אבל עכשיו נעשה שימוש בכל 16 הביטים כדי לייצג את העומק, מה שמאפשר לטווח המקסימלי של העומק להיות בין 8,191 מ'מ ל-65,535 מ'מ.
- הוצאנו משימוש את הקריאות לפונקציות Depth API:
ArFrame_acquireDepthImageו-ArFrame_acquireRawDepthImage. במקומה צריך להשתמש ב-ArFrame_acquireDepthImage16Bitsוב-ArFrame_acquireRawDepthImage16Bits.
- השתנו הקריאות לפונקציות של Depth API:
Unity (AR Foundation)
ממשקי ARCore Geospatial API חדשים:
-
AREarthManagerמאפשר לוקליזציה בקואורדינטות יחסיות ל-Earth.-
EarthTrackingStateמקבל את מצב המעקב של Earth עבור המסגרת האחרונה. -
EarthStateשומר על תנאי השגיאה של Earth.
-
-
GeospatialPoseמתאר מיקום ספציפי, גובה וכיוון במצפן ביחס לכדור הארץ. -
ARGeospatialAnchorמספק עוגן לאובייקטים של המשחק בסצנה, שמוגדר במיקום ובכיוון ביחס לכדור הארץ.
iOS
ממשקי ARCore Geospatial API חדשים:
-
GAREarthמספק לוקליזציה ביחס לכדור הארץ.GAREarthState.earthStateמנהל מצבי שגיאה ותנאים.-
GAREarthState.trackingStateשומר על מצב המעקב, שנדרש לנתונים גאו-מרחביים.
GARGeospatialTransformייצוג של טרנספורמציה גלובלית, כולל מיקום, כיוון, גובה והערכות דיוק.GARSession.createAnchorWithCoordinate:altitude:eastUpSouthQAnchor:error:יוצר עוגן גיאו-מרחבי במיקום ובכיוון שצוינו ביחס לכדור הארץ.
שינויים אחרים
שינויים נוספים, תיקוני באגים ושיפורי ביצועים מפורטים בנתוני הגרסה:
- נתוני גרסה של ARCore SDK ל-Android
- נתוני גרסה של ARCore ל-Android NDK
- הערות לגבי הגרסה של ARCore SDK ל-iOS
- הערות מוצר של ARCore Extensions for AR Foundation
מה חדש ב-ARCore גרסה 1.30.0
בגרסה הזו אין תכונות חדשות.
Android
- הערות על ערכי החזרה של API עם
@NonNullו-@Nullable. - עדכנו את הגרסאות של כלי ה-build שמשמשים ליצירת דוגמאות: Gradle לגרסה 7.0.2 ופלאגין Android Gradle לגרסה 7.0.4. לא צריך לשדרג את הכלים האלה באפליקציות ARCore קיימות. מידע על תכונות חדשות, בעיות ידועות ואי-תאימות זמין במסמכי התיעוד של Android בנושא הפלאגין של Android Gradle.
Unity (AR Foundation)
נוספה גרסה חדשה של
arcore-unity-extensions-without-edm4u.tgz. בגרסת ההפצה הזו לא כלולות תלויות חיצוניות כמו External Dependency Manager for Unity, ואפשר לשדרג ל-EDM. יכול להיות שהשימוש בגרסה הקלה הזו יפתור בעיות של חוסר תאימות כשמשתמשים בספריות Firebase. כדי להתחיל, אפשר לעיין בהוראות ההתקנה של ARCore Extensions for AR Foundation.שדרגנו את ExternalDependencyManager לגרסה 1.2.168 כדי לשפר את התמיכה בגרסה 2021.2 ואילך. פרטים נוספים זמינים בשינויים ב-EDM.
נפתרה בעיה שבה הגדרת הסשן של ARCore מתבצעת בכל פריים, גם אם אין שינוי בהגדרת הסשן, מה שגורם לירידה ב-FPS.
iOS
- תיקוני באגים ושיפורי ביצועים שונים.
מה חדש ב-ARCore גרסה 1.29.0
בגרסה הזו אין תכונות חדשות.
Android
- hello_ar_java ו-hello_ar_kotlin: שינינו את הצבע של אובייקט כשממקמים אותו באמצעות
SCREENSPACE_WITH_APPROXIMATE_DISTANCEכדי להבחין טוב יותר בין אובייקטים שממוקמים באמצעות מיקום מיידי. - persistent_cloud_anchor_java: נוספה תלות חסרה ב-build לדוגמה. תוקן באג שגרם לכך שכל מארח של עוגן היה במצב
CloudAnchorState ERROR_NOT_AUTHORIZED, גם אם הפרויקט הוגדר בצורה נכונה.
Unity (AR Foundation)
- חבילת ARCore Extensions תלויה עכשיו ב-ARKit XR Plugin כדי לוודא שגרסת AR Foundation המותקנת תואמת לגרסת ARKit XR Plugin. תיקנו שגיאת קומפילציה שמתרחשת כשמתקינים את ARCore Extensions ב-Unity 2019.x ומפעילים את התוסף ARKit XR.
- ההגדרות של פרויקט ARCore Extensions הועברו מProject Settings > XR > ARCore Extensions אל Project Settings > XR Plug-in Management > ARCore Extensions.
-
ARCoreExtensionsConfig,ARCoreExtensionsCameraConfigFilterו-ARCoreRecordingConfigהועברו מהתפריט Create > XR > ARCore Extensions לתפריט Create > XR.
iOS
- תיקוני באגים ושיפורי ביצועים שונים.
נתוני גרסה מלאים
- נתוני גרסה מלאים של ARCore SDK ל-Android
- הערות מלאות על הגרסה של ARCore ל-Android NDK
- הערות מלאות על הגרסה של ARCore SDK ל-iOS
- הערות מוצר של ARCore Extensions for AR Foundation
מה חדש ב-ARCore גרסה 1.28.0
- החל מנובמבר 2022, אפליקציות עם תמיכה ב-AR לא יוכלו יותר לקבל תמונות NDK או מטא-נתונים של תמונות. גרסאות ה-SDK שהושפעו תלויות בפונקציה הספציפית שמופעלת. מידע נוסף זמין בהודעה על הוצאה משימוש.
- C: שיחות אל
ArImage_getNdkImage()ו-ArImage_getNdkCameraMetadata()תמיד יחזירוnullptrלאובייקטיםAImageו-ACameraMetadata. - Java: האובייקט
Imageשמוחזר על ידיFrame#acquireCameraImage()יהיה בגודל0x0פיקסלים. שיחות אלFrame#getImageMetadata()תמיד יחזירוIllegalArgumentException. - Unity (AR Foundation): כשמשתמשים ב-AR Foundation 2.1 (Unity 2019 LTS), קריאות ל-
XRCameraSubsystem.TryGetLatestImage(out XRCameraImage)תמיד יחזירוfalse. גרסאות AR Foundation 4.x ואילך לא מושפעות, וקריאות ל-XRCameraSubsystem.TryGetLatestImage(out XRCameraImage)יתנהגו כרגיל. - ARCore SDK for Unity (הוצא משימוש): הקריאות אל
Frame.CameraImage.AcquireCameraImageBytes()יהיו בגודל0x0פיקסלים. קריאות אלFrame.CameraMetadata.GetAllCameraMetadataTags()יחזירוList<CameraMetadataTag>ריק.
- C: שיחות אל
- Java: הפונקציה
ArImage#getCropRect()מחזירה עכשיו מלבן חיתוך בגודל מלא, כלומר כל הפיקסלים בתמונה תקפים. מידע נוסף זמין בכתובתandroid.media.Image#getCropRect().
מה חדש ב-ARCore גרסה 1.27.0
בגרסה הזו אין תכונות חדשות. בנתוני הגרסאות הבאים מפורטים תיקוני באגים ושיפורים שונים בביצועים.
- נתוני גרסה מלאים של ARCore SDK ל-Android
- הערות מלאות על הגרסה של ARCore ל-Android NDK
- הערות מלאות על הגרסה של ARCore SDK ל-iOS
- הערות לגבי הגרסה של ARCore Extensions for AR Foundation
בנוסף לתיקוני באגים שונים, הגרסה הזו כוללת את השינויים הבאים.
אפליקציות לדוגמה ב-Kotlin
נוסף hello_ar_kotlin כדי להדגים שיטות מומלצות לשימוש ב-Kotlin.
מידע נוסף זמין במאמר תחילת העבודה עם Android.
הוספנו את ml_kotlin כדי להראות איך אפשר להשתמש במודל לסיווג תמונות עם ARCore.
מידע נוסף זמין במאמר בנושא שימוש ב-ARCore כקלט למודלים של למידת מכונה.
מה חדש ב-ARCore גרסה 1.26.0
בגרסה הזו נוספו השינויים הבאים:
- מעכשיו יש תמיכה ב-URI במערכי נתונים בהקלטה והפעלה.
שינויים ועדכונים נוספים
הערות הגרסה הבאות כוללות מידע על תיקוני באגים נוספים ושינויים נוספים שעלולים לגרום לכשל.
- נתוני גרסה מלאים של ARCore SDK ל-Android
- הערות מלאות על הגרסה של ARCore ל-Android NDK
- הערות מלאות על הגרסה של ARCore SDK ל-iOS
- הערות לגבי הגרסה של ARCore Extensions for AR Foundation
מה חדש ב-ARCore גרסה 1.25.0
בגרסה הזו אין תכונות חדשות. בנתוני הגרסאות הבאים מפורטים תיקוני באגים ושיפורים שונים בביצועים.
- נתוני גרסה מלאים של ARCore SDK ל-Android
- הערות מלאות על הגרסה של ARCore ל-Android NDK
- הערות מלאות על הגרסה של ARCore SDK ל-iOS
- הערות מלאות על הגרסה של ARCore SDK for Unity
- הערות לגבי הגרסה של ARCore Extensions for AR Foundation
מה חדש ב-ARCore גרסה 1.24.0
בגרסה הזו נוספו השינויים הבאים:
- Raw Depth API חדש שמספק תמונת עומק ללא סינון במרחב התמונה
- יכולת תיעוד של נתוני מעקב מותאמים אישית ב-Recording & Playback API
- היכולת לבצע בדיקות היט של עומק
עומק גולמי
Raw Depth API מספק נתוני עומק לתמונה ממצלמה ברמת דיוק גבוהה יותר מנתוני Depth API מלאים, אבל לא תמיד מכסה כל פיקסל. אפשר גם לעבד עוד תמונות עומק גולמיות, יחד עם תמונות הביטחון התואמות שלהן, כדי לאפשר לאפליקציות להשתמש רק בנתוני העומק שיש להם רמת דיוק מספקת לתרחיש השימוש הספציפי שלהן.
מדריכים למפתחים:
הקלטה של טראק בהתאמה אישית
היכולת החדשה לעקוב אחרי נתונים מותאמים אישית ב-Recording & Playback API מאפשרת לכם להוסיף נתונים מותאמים אישית למסגרת ARCore במהלך ההקלטה, ולאחזר את אותם נתונים מהמסגרת במהלך ההפעלה.
מדריכים למפתחים:
בדיקות כניסות לעומק
בעבר, אפשר היה לבצע בדיקות פגיעה רק במישורים מזוהים, ולכן המיקומים היו מוגבלים למשטחים גדולים ושטוחים. בדיקות עומק משתמשות במידע עומק חלק וגם במידע עומק גולמי כדי לספק תוצאות מדויקות יותר של פגיעות, גם במשטחים לא מישוריים וגם במשטחים עם מרקם דל.
מדריכים למפתחים:
שינויים ועדכונים נוספים
הערות הגרסה הבאות כוללות מידע על תיקוני באגים נוספים ושינויים נוספים שעלולים לגרום לכשל.
- נתוני גרסה מלאים של ARCore SDK ל-Android
- הערות מלאות על הגרסה של ARCore ל-Android NDK
- הערות מלאות על הגרסה של ARCore SDK ל-iOS
- הערות מלאות על הגרסה של ARCore SDK for Unity
- הערות מוצר של ARCore Extensions for AR Foundation
מה חדש ב-ARCore גרסה 1.23.0
בהמתנה לתמיכה בשתי מצלמות
התמיכה במצלמה כפולה תושק בשבועות הקרובים. מידע נוסף זמין בדף מכשירים נתמכים.
כלים חדשים לניפוי באגים
על ידי שליחת Broadcast Intent, מפתחים יכולים להפעיל:
רישום ביומן של קריאות ל-ARCore API ביומן ניפוי הבאגים של Android
שכבת-העל של הביצועים ב-ARCore
אירוח ופתרון של עוגנים בענן
אפליקציות עם תמיכה במציאות רבודה שמבוססות על ARCore SDK בגרסה 1.11.0 או בגרסאות קודמות לא יכולות יותר לארח או לפתור עוגנים בענן.
C: לעוגנים בענן שמוחזרים על ידי
ArSession_hostAndAcquireNewCloudAnchorו-ArSession_resolveAndAcquireNewCloudAnchorתמיד יהיה מצבAR_CLOUD_ANCHOR_STATE_ERROR_INTERNAL.Java: עוגנים בענן שמוחזרים על ידי
Session.hostCloudAnchor(Anchor)ו-Session.resolveCloudAnchor(String)תמיד יהיו במצבAnchor.CloudAnchorState.ERROR_INTERNAL.Unity: לעוגנים בענן שמוחזרים על ידי
XPSession.CreateCloudAnchor(Anchor)ו-XPSession.ResolveCloudAnchor(string)תמיד יהיה סטטוסCloudServiceResponse.ErrorInternal.
אפליקציות שנוצרו באמצעות ARCore SDK בגרסה 1.12.0 ואילך לא מושפעות. השימוש שלהם ב-ARCore Cloud Anchor API כפוף למדיניות הוצאה משימוש.
שינויים ועדכונים נוספים
במסמכי הערות הגרסה הבאים מפורטים תיקוני באגים נוספים ושינויים משמעותיים אחרים.
מה חדש ב-ARCore גרסה 1.22.0
בגרסה הזו נוספו ממשקי API חדשים להקלטה ולהפעלה וממשקי API לסינון הגדרות המצלמה ל-ARCore Extensions for AR Foundation. פרטים נוספים זמינים בהערות המוצר המלאות של ARCore Extensions.
שינויים ועדכונים נוספים
במסמכי הערות הגרסה הבאים מפורטים תיקוני באגים נוספים ושינויים משמעותיים אחרים.
מה חדש ב-ARCore גרסה 1.21.0
בגרסה הזו נוספו ממשקי API חדשים להקלטה ולהפעלה ב-Android, ב-Android NDK וב-Unity.
הקלטה והפעלה
בעזרת ממשקי ה-API של הקלטה והפעלה, אתם יכולים להקליט נתוני וידאו ו-AR פעם אחת בסביבה נתונה ולהשתמש בתוכן הזה כדי להחליף סשן חי של מצלמה למטרות בדיקה. ARCore שומר סשנים מוקלטים בקובצי MP4 שמכילים כמה רצועות וידאו ונתונים שונים אחרים במכשיר. אחר כך אפשר להגדיר את האפליקציה כך שתשתמש בנתונים האלה במקום בנתונים משידור חי מהמצלמה. כך תוכלו להפעיל את התוכן הזה שוב ושוב כדי לנסות אפקטים שונים של AR בלי שתצטרכו לחזור לשטח.
לקבלת פרטים נוספים:
Java:
ג.
Unity:
מה חדש ב-ARCore גרסה 1.20.0
בגרסה הזו נוספו השינויים הבאים:
תמיכה חדשה בעוגנים קבועים ב-Cloud.
עדכנו את היכולות של מטא-נתונים של תמונות ל-Android ול-Android NDK.
הנחיות חדשות שדורשות Gradle בגרסה 5.6.4 ואילך, כדי לתמוך ב-ARCore Extensions ל-AR Foundation או ב-ARCore SDK ל-Unity (גרסה 1.19 ואילך) עם Unity 2018.4 ואילך.
תמיכה חדשה בעוגני Cloud קבועים
לפני ARCore v1.20, אפשר היה לפתור עוגנים בענן עד 24 שעות אחרי שהם התארחו בפעם הראשונה. עם עוגנים קבועים בענן, עכשיו אפשר ליצור עוגן בענן עם זמן חיים (TTL) של יום אחד עד 365 ימים. אפשר גם להאריך את משך החיים של העוגן אחרי שהוא כבר מתארח באמצעות Cloud Anchor Management API.
השימוש ב-Cloud Anchors קבועים מכוסה על ידי מדיניות ההוצאה משימוש של Cloud Anchors.
C: מדריך למפתחים,
ArSession_hostAndAcquireNewCloudAnchorWithTtl, ו-ArSession_estimateFeatureMapQualityForHosting.Java: מדריך למפתחים,
hostCloudAnchorWithTtlו-estimateFeatureMapQualityForHosting.iOS: מדריך למפתחים,
hostCloudAnchor:TTLDays:error:ו-estimateFeatureMapQualityForHosting:.ARCore Extensions for AR Foundation: מדריך למפתחי Android, מדריך למפתחי iOS,
ARAnchorManager.HostCloudAnchor(ARAnchor, int),ARAnchorManager.SetAuthToken(string)ו-ARAnchorManager.EstimateFeatureMapQualityForHosting(Pose).טירגוט ב-Unity ל-Android: מדריך למפתחים,
XPSession.CreateCloudAnchor(Anchor, int)ו-XPSession.EstimateFeatureMapQualityForHosting(Pose).מיקוד ל-iOS ב-Unity: מדריך למפתחים,
XPSession.SetAuthToken(string)ו-XPSession.CreateCloudAnchor(UnityARUserAnchorComponent, int).
שינויים ועדכונים נוספים
במסמכי הערות הגרסה הבאים מפורטים תיקוני באגים נוספים ושינויים משמעותיים אחרים.
מה חדש ב-ARCore גרסה 1.19.0
בגרסה הזו נוספו השינויים הבאים:
- Instant Placement API חדש ל-Android, ל-Android NDK ול-Unity.
- הנחיות חדשות ליצירת אפליקציות ל-Android 11 באמצעות Unity.
מיקום מיידי
Instant Placement API מאפשר למשתמש להציב אובייקט AR על המסך בלי לחכות ש-ARCore יזהה את הגיאומטריה של המשטח. מיקום האובייקט משתנה בזמן אמת ככל שהמשתמש נע בסביבה. אחרי ש-ARCore מזהה את התנוחה הנכונה באזור שבו ממוקם אובייקט ה-AR, האובייקט הלבן מתעדכן אוטומטית כך שיתאים לתנוחה, והופך לאטום.
בסרטון הבא מוצגת דמות וירטואלית של Android על שולחן בעולם האמיתי. הדמות לבנה וקטנה בהרבה כשהיא ממוקמת לראשונה. אחרי ש-ARCore משפר את החישובים של מידות הסצנה, הדמות קופצת למיקום מדויק יותר. כתוצאה מכך, יכול להיות שיהיה הבדל ב'גודל' האובייקט.
לקבלת פרטים נוספים:
Android:
Android NDK:
Unity:
מה חדש ב-ARCore גרסה 1.18.0
בגרסה הזו נוספו השינויים הבאים:
- Depth API חדש ל-Android, ל-Android NDK ול-Unity.
- הנחיות חדשות ליצירת נכסי פנים מורחבים ולייבוא שלהם ל-Android Studio.
- Depth API יתמוך ב-
4.1.0-preview.2גם ב-AR Foundationוגם ב-ARCore XR Plugin.
Depth API
במכשירים שתומכים בעומק, ה-Depth API משתמש במצלמת ה-RGB של המכשיר שתומך ב-ARCore, או בחיישן עומק פעיל אם הוא זמין, כדי ליצור מפות עומק. לאחר מכן אפשר להשתמש בעומק לכל פיקסל שמופיע במפת העומק כדי לגרום לאובייקטים וירטואליים להופיע בצורה מדויקת לפני או אחרי אובייקטים בעולם האמיתי, וכך ליצור חוויות משתמש סוחפות ומציאותיות.
לדוגמה, בתמונות הבאות מוצגת דמות וירטואלית של Android במרחב אמיתי עם מזוודה ליד דלת. Depth API מסתיר בצורה נכונה את הדמות מאחורי קצה הגזע.
לקבלת פרטים נוספים:
Android:
Android NDK:
Unity:
מה חדש ב-ARCore גרסה 1.17.0
מה חדש ב-ARCore SDK ל-Android
נוספו שיטות חדשות שמאפשרות שמירת נתונים זמנית של כמה פריימים מהמצלמה. אפשר להשתמש בטכניקה הזו יחד עם טכניקות אחרות, כמו רינדור מרובה-הליכי משנה, כדי לצמצם את השונות בשיעורי הפריימים.
נוספו שימוש חסר בחיישן עומק ופונקציות getter של קצב פריימים (FPS) יעד:
אפשר גם לעיין בנתוני הגרסה המלאים של Android SDK ל-Android.
מה חדש ב-ARCore SDK for Unity
- הוספנו תמיכה ברינדור מרובה-הליכי משנה ב-Unity בגרסה 2018.2 ואילך, שברוב המקרים משפרת את הביצועים ויכולה לעזור להפחית את השונות בקצב הפריימים. זו הגדרה של פרויקט Unity שנמצאת בהגדרות הפרויקט > Player > Android > Other Settings > Multithreaded Rendering (הגדרות אחרות > רינדור מרובה-הליכי משנה). פרטים נוספים זמינים במדריך למפתחים.
- נוספו
SessionStatus.ErrorCameraNotAvailableו-SessionStatus.ErrorIllegalStateכדי לציין מצבי שגיאה ספציפיים בסשן ARCore.
אפשר לעיין גם בנתוני הגרסה המלאים של ARCore SDK for Unity.
מה חדש ב-ARCore SDK ל-iOS
הגודל הבינארי של Cloud Anchors SDK ירד באופן משמעותי.
יש עכשיו תמיכה ב-Bitcode ב-Augmented Faces.
אפשר גם לעיין בנתוני הגרסה המלאים של ARCore SDK ל-iOS.
מה חדש ב-ARCore גרסה 1.16.0
הערות חשובות לגבי ARCore SDK ל-Android ו-Sceneform SDK ל-Android
בגרסה הזו נוספו השינויים הבאים:
- ברוב המכשירים מוחזרות עכשיו הגדרות נוספות של מצלמות נתמכות עם רזולוציות נמוכות יותר של טקסטורות ב-GPU מאשר רזולוציית ברירת המחדל של הטקסטורות ב-GPU של המכשיר.
פרטים נוספים מופיעים במאמר בנושא מכשירים נתמכים ב-ARCore.
ההגדרות המורחבות האלה של GPU זמינות דרך
getSupportedCameraConfigs(CameraConfigFilter)API.
ראה גם:
מה חדש ב-ARCore Extensions for AR Foundation
בגרסה הזו נוספו השינויים הבאים:
הספרייה
XRCameraConfigurationשל AR Foundation מורחבת עם שיטות שמאפשרות לכם לבחור את הגדרת המצלמה המתאימה על סמך הקריטריונים שאתם רוצים. השיטות האלה כוללות את GetTextureDimensions(), GetFPSRange() ו-GetDepthSensorUsages(). אפשר לקרוא הוראות מפורטות.Unity 2019.3.0f6 היא עכשיו הגרסה המינימלית המומלצת ל-ARCore Extensions. AR Foundation 3.1.0-preview.6 מחייב Unity מגרסה 2019.3 ואילך.
Unity משתמשת עכשיו במונחים Anchor, Cloud Anchor ו-Cloud Anchor ID ב-API של AR חוצה פלטפורמות. עדכנו את התיעוד של ARCore Extensions בהתאם.
ראה גם:
מה חדש ב-ARCore SDK for Unity
בגרסה הזו נוסף השינוי המשמעותי הבא:
- ברוב המכשירים מוחזרות עכשיו הגדרות נוספות של מצלמות נתמכות עם רזולוציות נמוכות יותר של טקסטורות ב-GPU מאשר רזולוציית ברירת המחדל של הטקסטורות ב-GPU של המכשיר. (לפרטים נוספים אפשר לעיין במאמר בנושא מכשירים שתומכים ב-ARCore). הרזולוציות המורחבות של ה-GPU זמינות דרך ARCoreCameraConfigFilter API.
ראה גם:
הערות מלאות על הגרסה של ARCore SDK for Unity
מה חדש ב-ARCore גרסה 1.15.0
מה חדש ב-ARCore Extensions for AR Foundation
בגרסה הזו נוספו השינויים הבאים:
הוספנו דוגמה ל-CloudAnchors שמראה איך ליצור חוויות AR משותפות גם ל-Android וגם ל-iOS. הוראות ל-Android או ל-iOS
גרסה Unity 2019.2.17f1 היא עכשיו הגרסה המומלצת המינימלית לשימוש עם ARCore Extensions.
הערות המוצר המלאות של ARCore Extensions
מה חדש ב-ARCore SDK for Unity
בגרסה הזו יש את הבעיות הידועות הבאות.
יכול להיות שהתצוגה המקדימה המיידית תקפא ב-Unity כשמשתמשים ב-Android 9 ובכבל USB 3. כדי לפתור את הבעיה, צריך לעדכן ל-Android 10 או להשתמש בכבל USB 2.
יכול להיות שהתצוגה המקדימה המיידית לא תוצג במכשיר אם הרזולוציה של תצוגת המשחק ב-Unity גבוהה מדי. כדי לפתור את הבעיה, צריך להקטין את הרזולוציה של תצוגת המשחק ב-Unity בכלי Editor.
הערות מלאות על הגרסה של ARCore SDK for Unity
שינויים נוספים
במסמכי הערות הגרסה הבאים מפורטים תיקוני באגים נוספים ושינויים משמעותיים אחרים.
מה חדש ב-ARCore גרסה 1.14.0
בגרסה הזו נוספו השינויים הבאים:
אם אפליקציה מאבדת באופן זמני את הגישה למצלמה לטובת אפליקציה אחרת במכשיר, הסיבה לכשל במעקב תהיה עכשיו ספציפית יותר:
Android:
TrackingFailureReasonהערך הואCAMERA_UNAVAILABLEבמקוםNONE.Android NDK:
ArTrackingFailureReasonsהואAR_TRACKING_FAILURE_REASON_CAMERA_UNAVAILABLEבמקוםAR_TRACKING_FAILURE_REASON_NONE.Unity:
Session.LostTrackingReasonהואLostTrackingReason.CameraUnavailableבמקוםNone.
Google אוספת ומעבדת נתונים מהשימוש שלכם בחבילת ARCore Extensions בהתאם למדיניות הפרטיות של Google ולתנאים ולהגבלות של Google APIs. אפשר לבטל את ההסכמה לכך.
מה חדש ב-ARCore גרסה 1.13.0
בגרסה הזו נוספו השינויים הבאים:
תמיכה בשימוש ב-ARCore Extensions for Unity's AR Foundation כדי ליצור אפליקציות ל-iOS עם Cloud Anchors.
במסמכי הערות הגרסה הבאים מפורטים תיקוני באגים נוספים ושינויים משמעותיים אחרים.
מה חדש ב-ARCore גרסה 1.12.0
בגרסה הזו נוספו השינויים הבאים:
הוספנו את התכונה 'פנים מורחבות' ל-iOS. מידע נוסף זמין בסקירה הכללית, במדריך למתחילים ובמדריך למפתחים.
תמיכה בשימוש ב-ARCore Extensions for Unity's AR Foundation כדי לפתח אפליקציות ל-Android עם Cloud Anchors.
השינויים הבאים ב-Cloud Anchors:
- כדי לעמוד בדרישות הפרטיות המעודכנות שלנו לשימוש ב-ARCore SDK בגרסה 1.12 ואילך, עליכם לחשוף את השימוש ב-Cloud Anchors באופן בולט באפליקציה שלכם. לשם כך, עליכם להוסיף את הטקסט הבא, וגם קישור למידע נוסף, במסך הודעה: "כדי להפעיל את הסשן הזה, Google תעבד נתונים חזותיים מהמצלמה שלך". אתם יכולים לעשות זאת באמצעות הטמעת תהליך ההודעה המומלץ למשתמשים שזמין באפליקציות לדוגמה של Cloud Anchor.
פרטים נוספים זמינים במאמר בנושא דרישות בנוגע לפרטיות המשתמשים.
לפרטים נוספים על עוגנים בענן:
Android:
Android NDK:
iOS:
Unity:
תוספים ל-ARCore:
מה חדש ב-ARCore גרסה 1.11.0
בגרסה הזו נוספו השינויים הבאים:
השם של שירות ARCore שונה לGoogle Play Services למציאות רבודה. במכשירי Google Play, היא מופצת עכשיו כחלק מ-Google Play Services.
הגדרות המצלמה של ARCore מכוונות ל-60 פריימים לשנייה במכשירים נתמכים, ומתעדפות את השימוש בחיישן העומק במכשירים שיש בהם חיישן כזה. אפשר להשתמש במסננים חדשים של הגדרות המצלמה כדי להגביל את קצב הפריימים של המצלמה ל-30 פריימים לשנייה, למנוע מ-ARCore להשתמש בחיישן עומק או לסנן לפי שתי האפשרויות.
פרטים נוספים על הגדרות המצלמה:
Android:
Android NDK:
Unity:
מה חדש ב-ARCore גרסה 1.10.0
בגרסה הזו הוספנו יכולות חדשות להערכת תאורה סביבתית ב-HDR ל-Lighting Estimation API ל-Android, ל-Android NDK ול-Unity.
ממשקי ה-API האלה משתמשים בלמידת מכונה כדי לנתח את תמונת המצלמה שמוזנת להם, וכדי להעריך את התאורה הסביבתית. אתם יכולים להשתמש בנתוני הערכת התאורה האלה כדי להציג תאורה מציאותית במיוחד, כולל אור כיווני ראשי, צללים, תאורה בסביבה, אזורים בהירים והשתקפויות באובייקטים וירטואליים. התוצאה היא תוכן וירטואלי שנראה ריאליסטי יותר.
לקבלת פרטים נוספים:
Android:
Android NDK:
Unity:
מה חדש ב-ARCore גרסה 1.9.0
מה חדש ב-ARCore SDK ל-Android
בגרסה הזו הוספנו את ממשקי ה-API והתכונות החדשים הבאים:
Scene Viewer הוא כלי לצפייה בסצנות תלת-ממדיות שמאפשר לחוות חוויות מציאות רבודה (AR) באתר שלכם. התכונה הזו מאפשרת למשתמשים במכשירי Android לנייד למקם בקלות מודלים תלת-ממדיים שמתארחים באינטרנט, לצפות בהם ולבצע איתם אינטראקציה בסביבה שלהם.
תכונות חדשות של תמונות משופרות:
ARCore עכשיו עוקב אחרי תמונות רבודות בתנועה. דוגמאות לתמונות נעות הן פרסומת על אוטובוס חולף או תמונה על אובייקט שטוח שהמשתמש מחזיק בזמן שהוא מזיז את היד.
אחרי שמזוהה תמונה, ARCore יכול להמשיך לעקוב אחרי המיקום והכיוון של התמונה, גם אם התמונה זזה באופן זמני מחוץ לשדה הראייה של המצלמה.
משתמשים ב-
AugmentedImage#getTrackingMethod()(Java) או ב-ArAugmentedImage_getTrackingMethod()(NDK) כדי לקבוע אם המצלמה עוקבת כרגע אחרי התמונה המורחבת (FULL_TRACKING), או אם המעקב מתבצע על סמך המיקום האחרון הידוע שלה (LAST_KNOWN_POSE).
במאמרי העזרה בנושא Cloud Anchors יש עכשיו הסבר מפורט יותר על אירוח עוגנים ועל פתרון בעיות שקשורות לעוגנים.
מה חדש ב-ARCore SDK for Unity
תכונות חדשות של תמונות משופרות:
ARCore עכשיו עוקב אחרי תמונות רבודות בתנועה. דוגמאות לתמונות נעות יכולות להיות מודעה על אוטובוס חולף או תמונה על אובייקט שטוח שהמשתמש מחזיק ומזיז.
אחרי שמזוהה תמונה, ARCore יכול להמשיך לעקוב אחרי המיקום והכיוון של התמונה, גם אם התמונה זזה באופן זמני מחוץ לשדה הראייה של המצלמה.
AugmentedImage.GetTrackingMethod()ה-API החדש מאפשר לאפליקציה לקבוע אם המצלמה עוקבת כרגע אחרי התמונה המורחבת (FullTracking), או אם המעקב מתבצע על סמך המיקום האחרון הידוע שלה (LastKnownPose).
במאמרי העזרה בנושא Cloud Anchors יש עכשיו הסבר מפורט יותר על אירוח עוגנים ועל פתרון בעיות שקשורות לעוגנים.
מה חדש ב-ARCore SDK ל-iOS
תמיכה במכשירים הבאים:
iPad Mini דור חמישי
iPad Air מדור שלישי
במאמרי העזרה בנושא Cloud Anchors יש עכשיו הסבר מפורט יותר על אירוח עוגנים ועל פתרון בעיות שקשורות לעוגנים.

