שינויים חדשים וחשובים ב-ARCore.
מה חדש ב-ARCore גרסה 1.50.0
שינויים ב-targetSdkVersion
של ARCore SDK
ARCore targetSdkVersion
עודכן לרמת API 36 ב-Android. אם האפליקציה לא מציינת targetSdkVersion
, הערך של targetSdkVersion
באפליקציה יהיה 36 בגלל מיזוג המניפסט.
ב-Unity, אם מציינים רמת API לטרגוט בProject Settings > Player > Android > Other Settings (הגדרות הפרויקט > נגן > Android > הגדרות אחרות) בפרויקט 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, אפשר לעיין במדריך הבא.
תיקוני באגים
- תוקן המישור בדוגמה של Cloud Anchor כך שלא יהיה שקוף ב-Unity 6
שינויים אחרים
- ההסתעפות
main
במאגר GitHub של ARCore Extensions הוחלפה כדי לעקוב אחרי ההסתעפותarf5
.
מה חדש ב-ARCore גרסה 1.46.0
שינויים ב-targetSdkVersion
של ARCore SDK
ARCore targetSdkVersion
עודכן לרמת API 35 ב-Android. אם האפליקציה לא מציינת targetSdkVersion
, targetSdkVersion
של האפליקציה יהיה 35 בגלל מיזוג המניפסט.
ב-Unity, אם מציינים רמת API לטרגוט בProject Settings > Player > Android > Other Settings (הגדרות הפרויקט > נגן > Android > הגדרות אחרות) בפרויקט 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 (חדש) במסוף Google Cloud.
מה חדש ב-ARCore גרסה 1.42.0
הצמדה למשבצת ב-Geospatial Creator ל-Unity
לחצן 'הצמדה למשבצת' נוסף לחלונית ARGeospatialCreatorAnchor
Editor Inspector. הלחצן הזה מגדיר את ערך הגובה של עוגן מסוג Terrain או Rooftop (גג) שמוצג רק בעורך, לחלק העליון של גיאומטריית Tile תלת-ממדית בקו הרוחב ובקו האורך הנוכחיים של העוגן. הערה: המאפיין הזה לא משפיע על ההתנהגות בזמן הריצה. כך אפשר להתאים את מיקום העוגן בכלי העריכה למיקום שלו בזמן הריצה.
מה חדש ב-ARCore גרסה 1.41.0
Geospatial Creator API
התוסף Geospatial Creator for Unity כולל עכשיו תמיכה ביצירה ובשינוי של אובייקטים של Geospatial Creator במצב Editor. ב-Geospatial Creator API Guide מפורטים הממשקי API והמחלקות החדשים שזמינים עכשיו.
תמיכה בגרסאות 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. ה-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
סמנטיקה של סצנות
התכונה 'סמנטיקה של סצנות' מספקת פרטים עשירים יותר על הסצנה שמסביב, וכך קל יותר להבין את העולם שסובב את המשתמש. התכונה 'סמנטיקה של סצנות' מריצה מודל למידת מכונה בפיד התמונות של המצלמה ומספקת תמונה סמנטית שבה כל פיקסל תואם לאחת מ-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()
מספק עוגן לאובייקטים של המשחק בסצנה בקו הרוחב, בקו האורך, בגובה מעל הגג ובכיוון שצוינו. ResolveAnchorOnRooftopPromise
ResolveAnchorOnRooftopResult
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.ImageStabilizationMode
Frame.transformCoordinates3d()
Session.isImageStabilizationModeSupported()
- יש בעיה מוכרת שבה קריאה ל-
Frame.transformCoordinates3d()
עם קואורדינטות דו-ממדיות שאינןOPENGL_NORMALIZED_DEVICE_COORDINATES
תגרום לקריסה במקום להחזרתIllegalArgumentException
. הבעיה הזו תיפתר במהדורה הבאה.
Android NDK (C)
ArImageStabilizationMode
ArFrame_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. - אירוח עוגנים בענן: אפשר להשתמש ב-
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
דיוק המיקום הגיאוגרפי מחליף את הכיוון בזווית סבסוב
כל המיקומים הגיאוגרפיים חושפים עכשיו את דיוק הכיוון שלהם בסיבוב סביב ציר Z, במקום דיוק הכיוון.
- Java/Kotlin: מחליפים את
GeospatialPose.getHeading()
ב-GeospatialPose.getEastUpSouthQuaternion()
ואתGeospatialPose.getHeadingAccuracy()
ב-GeospatialPose.getOrientationYawAccuracy()
. - ג: מחליפים את
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 יכול עכשיו לבדוק את הזמינות של מערכת מיקום חזותי (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 Cloud Anchor.
- ב-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 אפשר למצוא מסמכי עזרה למפתחים שספציפיים לפלטפורמה, ולהבין את השינויים ב-Depth API.
הערות ספציפיות לפלטפורמה
Android
ממשקי API חדשים של ARCore Geospatial
Java
-
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()
יהיה בגודל0
x0
פיקסלים. שיחות אל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()
יהיו בגודל0
x0
פיקסלים. קריאות אל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 חדש שמספק תמונת עומק ללא סינון במרחב התמונה
- הוספנו ל-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 ל-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 במרחב אמיתי שכולל מזוודה ליד דלת. ממשק ה-API של העומק מסתיר כראוי את הדמות מאחורי קצה הגזע.
לקבלת פרטים נוספים:
Android:
Android NDK:
Unity:
מה חדש ב-ARCore גרסה 1.17.0
מה חדש ב-ARCore SDK ל-Android
נוספו שיטות חדשות שמאפשרות שמירת נתונים זמנית של כמה פריימים מהמצלמה. אפשר להשתמש בטכניקה הזו יחד עם טכניקות אחרות, כמו רינדור מרובה-הליכי משנה, כדי לצמצם את השונות בקצב הפריימים.
נוספו שימוש חסר בחיישן עומק ופונקציות getter של קצב פריימים (FPS) יעד:
אפשר גם לעיין בנתוני הגרסה המלאים של Android SDK ל-Android.
מה חדש ב-ARCore SDK for Unity
- הוספנו תמיכה ברינדור מרובה-הליכי בגרסה 2018.2 של Unity ואילך. ברוב המקרים, התמיכה הזו משפרת את הביצועים ויכולה לעזור להפחית את השונות בקצב הפריימים. זו הגדרה של פרויקט Unity שנמצאת בProject Settings (הגדרות הפרויקט) > Player (נגן) > Android > Other Settings (הגדרות אחרות) > Multithreaded Rendering (רינדור מרובה-הליכי משנה). פרטים נוספים זמינים במדריך למפתחים.
- נוספו
SessionStatus.ErrorCameraNotAvailable
ו-SessionStatus.ErrorIllegalState
כדי לציין מצבי שגיאה ספציפיים בסשן ARCore.
אפשר לעיין גם בנתוני הגרסה המלאים של ARCore SDK for Unity.
מה חדש ב-ARCore SDK ל-iOS
הגודל הבינארי של Cloud Anchors SDK ירד באופן משמעותי.
יש עכשיו תמיכה ב-Bitcode עבור תכונת הפנים המורחבות.
אפשר גם לעיין בנתוני הגרסה המלאים של 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 עם עוגנים בענן.
במסמכי הערות הגרסה הבאים מפורטים תיקוני באגים נוספים ושינויים משמעותיים אחרים.
מה חדש ב-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.
פרטים נוספים זמינים במאמר בנושא דרישות בנוגע לפרטיות המשתמשים.
לפרטים נוספים על עוגנים של Cloud:
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) ל-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 יש עכשיו הסבר מפורט יותר על האופן שבו מתבצע אירוח של עוגנים ופתרון שלהם.