تغییرات جدید و قابل توجه در ARCore.
ویژگیهای جدید ARCore نسخه ۱.۵۱.۰
تغییرات دیگر
minSdkVersionSDk نمونههای جاوای "SharedCamera" و "RawDepth" به ۲۳ بهروزرسانی شد.نمونه hello_ar_vulkan_c به یک برنامه کاملاً کاربردی بهروزرسانی شد که پیادهسازی کامل ویژگیهای کلیدی ARCore در Vulkan را نشان میدهد. شامل ویژگیهای نمایش داده شده در hello_ar_c و انسداد صفحهای است.
ویژگیهای جدید ARCore نسخه ۱.۵۰.۰
تغییرات در targetSdkVersion ARCore SDK
targetSdkVersion در ARCore به سطح API اندروید ۳۶ بهروزرسانی شده است. اگر برنامه شما targetSdkVersion مشخص نکرده باشد، targetSdkVersion برنامه شما به دلیل ادغام آشکار، ۳۶ خواهد شد.
برای یونیتی، مشخص کردن سطح API هدف در پروژه یونیتی شما در مسیر Project Settings > Player > Android > Other Settings، مقدار targetSdkVersion در ARCore را لغو خواهد کرد.
چه چیزهایی در ARCore نسخه ۱.۴۹.۰ جدید است؟
رفع اشکالات مختلف و بهبود عملکرد
ویژگیهای جدید ARCore نسخه ۱.۴۸.۰
پشتیبانی از Unity 6 و AR Foundation 6 به طور کامل منتشر شد.
افزونههای ARCore برای بنیاد واقعیت افزوده یونیتی اکنون از AR Foundation 6 پشتیبانی میکنند. برای دریافت نسخه سازگار از افزونههای ARCore برای بنیاد واقعیت افزوده، از روشهای نصب زیر استفاده کنید:
- از طریق
Add package from git url...: ازhttps://github.com/google-ar/arcore-unity-extensions.git#arf6استفاده کنید، - از طریق
Add package from tarball...: از نسخهای که باarf6از صفحه releases مشخص شده است، استفاده کنید.
برای ارتقاء پروژه خود از AR Foundation 5 به AR Foundation 6، به راهنمای زیر مراجعه کنید.
شکستن و تغییرات رفتاری
- SDK دیگر از اهداف استقرار برای نسخههای iOS <13.0 پشتیبانی نمیکند.
ویژگیهای جدید ARCore نسخه ۱.۴۷.۰
پشتیبانی بتا برای Unity 6 و AR Foundation 6
افزونههای ARCore برای بنیاد واقعیت افزوده Unity اکنون از نسخه بتای AR Foundation 6 پشتیبانی میکنند تا از Unity 6 پشتیبانی کنند. برای دریافت نسخه سازگار از افزونههای ARCore برای بنیاد واقعیت افزوده، از روشهای نصب زیر استفاده کنید:
- از طریق
Add package from git url...: ازhttps://github.com/google-ar/arcore-unity-extensions.git#arf6استفاده کنید، - از طریق
Add package from tarball...: از نسخهای که باarf6از صفحه releases مشخص شده است، استفاده کنید.
برای ارتقاء پروژه خود از AR Foundation 5 به AR Foundation 6، به راهنمای زیر مراجعه کنید.
رفع اشکالات
- مشکل شفاف نبودن صفحه نمونه Cloud Anchor برای Unity 6 برطرف شد
تغییرات دیگر
- شاخه
mainمخزن گیتهاب ARCore Extensions برای پیگیری شاخهarf5تغییر یافته است.
ویژگیهای جدید ARCore نسخه ۱.۴۶.۰
تغییرات در targetSdkVersion ARCore SDK
targetSdkVersion در ARCore به سطح API اندروید ۳۵ بهروزرسانی شده است. اگر برنامه شما targetSdkVersion مشخص نکرده باشد، targetSdkVersion برنامه شما به دلیل ادغام آشکار، ۳۵ خواهد شد.
برای یونیتی، مشخص کردن سطح API هدف در پروژه یونیتی شما در مسیر Project Settings > Player > Android > Other Settings، مقدار targetSdkVersion در ARCore را لغو خواهد کرد.
ویژگیهای جدید ARCore نسخه ۱.۴۵.۰
API حالت فلش
ARCore اکنون از فعال کردن حالت چراغ قوه دستگاه پشتیبانی میکند و امکان درک بهتر در محیطهای تاریک را فراهم میکند.
اندروید (کاتلین/جاوا)
-
Config.FlashMode: گزینه پیکربندی برای فعال یا غیرفعال کردن واحد فلش روی دستگاه. - برای جزئیات بیشتر در مورد نحوه شناسایی قابلیتهای فلش و نحوه فعال کردن حالت مشعل، به راهنمای توسعهدهنده مراجعه کنید.
اندروید NDK (سی)
-
ArFlashMode: گزینه پیکربندی برای فعال یا غیرفعال کردن واحد فلش روی دستگاه. - برای جزئیات بیشتر در مورد نحوه شناسایی قابلیتهای فلش و نحوه فعال کردن حالت مشعل، به راهنمای توسعهدهنده مراجعه کنید.
افزونههای ARCore برای بنیاد واقعیت افزودهی یونیتی، از بنیاد واقعیت افزودهی ۵ پشتیبانی میکنند.
افزونههای ARCore برای AR Foundation اکنون رسماً از AR Foundation 5 پشتیبانی میکنند. هنگام استفاده از AR Foundation 5 (نسخه تأیید شده در نسخههای 2022 و 2023 یونیتی)، از روشهای نصب زیر برای دریافت نسخه سازگار از افزونههای ARCore برای AR Foundation استفاده کنید:
- از طریق
Add package from git url...: ازhttps://github.com/google-ar/arcore-unity-extensions.git#arf5استفاده کنید، - از طریق
Add package from tarball...: از نسخهای که باarf5از صفحه releases مشخص شده است، استفاده کنید.
پروژههای باقیمانده روی نسخه ۴ بنیاد AR میتوانند از روشهای نصب زیر استفاده کنند:
- از طریق
Add package from git url...: ازhttps://github.com/google-ar/arcore-unity-extensions.git#arf4استفاده کنید، - از طریق
Add package from tarball...: از نسخهای که باarf4از صفحه releases مشخص شده است، استفاده کنید.
برای ارتقاء پروژه خود از AR Foundation 4 به AR Foundation 5، به راهنمای مهاجرت مراجعه کنید.
نمادهای اسکریپتنویسی سفارشی مانند ARCORE_USE_ARF_5 از نسخه بتا دیگر استفاده نمیشوند.
ویژگیهای جدید ARCore نسخه ۱.۴۴.۰
این نسخه هیچ ویژگی جدیدی ندارد.
ویژگیهای جدید ARCore نسخه ۱.۴۳.۰
API مکانها در مهاجرت خالق جغرافیایی
قابلیت جستجوی Geospatial Creator اکنون از API مکانهای جدید گوگل استفاده میکند. برای استفاده از قابلیت جستجو، «API مکانها (جدید)» را در کنسول ابری گوگل فعال کنید.
ویژگیهای جدید ARCore نسخه ۱.۴۲.۰
ضربه محکم و ناگهانی به کاشی در Geospatial Creator برای Unity
دکمهی "Snap to Tile" به پنل ARGeospatialCreatorAnchor Editor Inspector اضافه شده است. این دکمه مقدار ارتفاع مخصوص ویرایشگر یک لنگر Terrain یا Rooftop را در بالای هندسهی کاشی سهبعدی در عرض و طول جغرافیایی فعلی لنگر تنظیم میکند. توجه داشته باشید که این ویژگی بر رفتار در زمان اجرا تأثیری ندارد. این به تنظیم موقعیت لنگر در ویرایشگر برای مطابقت با موقعیت آن در زمان اجرا کمک میکند.
ویژگیهای جدید ARCore نسخه ۱.۴۱.۰
API سازنده اطلاعات مکانی
نرمافزار Geospatial Creator برای یونیتی اکنون از ایجاد و دستکاری اشیاء Geospatial Creator در حالت ویرایشگر پشتیبانی میکند. کلاسها و APIهای جدید در راهنمای API Geospatial Creator شرح داده شدهاند.
پشتیبانی از نسخههای ۵.x بنیاد AR (بتا)
افزونههای ARCore برای بنیاد AR یونیتی اکنون از نسخههای 5.x بنیاد AR پشتیبانی میکنند. برای انتقال یک پروژه موجود به بنیاد AR، به راهنمای انتقال مراجعه کنید.
ویژگیهای جدید ARCore نسخه ۱.۴۰.۰
معناشناسی صحنه در iOS
رابط برنامهنویسی کاربردی (API) معناشناسی صحنه اکنون در ARCore SDK برای iOS و همچنین در ARCore Extensions for Unity’s AR Foundation که پلتفرم iOS را هدف قرار میدهد، در دسترس است. رابط برنامهنویسی کاربردی معناشناسی صحنه به توسعهدهندگان این امکان را میدهد که صحنه اطراف کاربر را به صورت بلادرنگ درک کنند و پیکسلها را به 11 کلاس از اجزای بیرونی دستهبندی کنند. برای اطلاعات بیشتر به مقدمهای بر معناشناسی صحنه مراجعه کنید.
آیاواس
یونیتی (بنیاد واقعیت افزوده)
جستجوی نقاط مورد علاقه در Geospatial Creator برای Unity
نرمافزار Geospatial Creator برای یونیتی اکنون از جستجوی متنی برای تعیین موقعیت نمای کاشیهای سهبعدی عکاسی پشتیبانی میکند. برای اطلاعات بیشتر به بخش «جستجوی نقاط مورد علاقه در Geospatial Creator» مراجعه کنید.
ویژگیهای جدید ARCore نسخه ۱.۳۹.۰
این نسخه هیچ ویژگی جدیدی ندارد.
ویژگیهای جدید ARCore نسخه ۱.۳۸.۰
این نسخه هیچ ویژگی جدیدی ندارد.
ویژگیهای جدید ARCore نسخه ۱.۳۷.۰
معناشناسی صحنه
معناشناسی صحنه جزئیات غنیتری در مورد صحنه اطراف ارائه میدهد و درک دنیای اطراف کاربر را آسانتر میکند. معناشناسی صحنه یک مدل یادگیری ماشین را روی تصویر دوربین اجرا میکند و یک تصویر معنایی ارائه میدهد که هر پیکسل آن مربوط به یکی از 11 برچسب مفاهیم فضای باز است.
برای اطلاعات بیشتر به مقدمهای بر معناشناسی صحنه و برنامه نمونه semantics_java مراجعه کنید.
اندروید (کاتلین/جاوا)
اندروید NDK (سی)
یونیتی (بنیاد واقعیت افزوده)
آیاواس
هندسه خیابان
هندسهی خیابان (Streetscape Geometry) یک API جغرافیایی جدید ARCore است که هندسهی ساختمانها و عوارض زمین را در منطقهای اطراف کاربر، زمانی که API جغرافیایی فعال باشد، ارائه میدهد.
اندروید (کاتلین/جاوا)
به راهنمای توسعهدهندگان هندسه خیابانی (Kotlin/Java) مراجعه کنید. علاوه بر این، برنامه نمونه geospatial_java بهروزرسانی شده است تا هندسه خیابانی را نیز شامل شود.
اندروید NDK (سی)
برای اطلاعات بیشتر به راهنمای توسعه هندسه خیابان (C) مراجعه کنید.
یونیتی (بنیاد واقعیت افزوده)
برای اطلاعات بیشتر به راهنمای توسعهدهنده هندسه خیابانی (یونیتی) مراجعه کنید.
آیاواس
برای اطلاعات بیشتر به راهنمای توسعهدهندگان هندسه خیابانی (iOS) مراجعه کنید. علاوه بر این، برنامه GeospatialExample بهروزرسانی شده است تا هندسه خیابانی را نیز شامل شود.
-
GARStreetscapeGeometry: -
GARStreetscapeGeometry.meshمشهای سهبعدی ارائه میدهد. -
GARStreetscapeGeometry.meshTransformتبدیل مبدأ هندسه را نسبت به فضای جهانی جلسه فراهم میکند. -
GARStreetscapeGeometry.trackingStateوضعیت ردیابی را حفظ میکند. -
GARStreetscapeGeometry.typeنشان میدهد که آیا هندسه زمین است یا ساختمان. -
GARStreetscapeGeometry.qualityکیفیت هندسه را فراهم میکند. -
GARStreetscapeGeometry.identifierشناسه منحصر به فرد برای هندسه را فراهم میکند. -
GARSession.createAnchorOnStreetscapeGeometry:transform:error:یک لنگر در مکان و جهت مشخص شده ایجاد میکند. -
GARSession.raycastStreetscapeGeometry:direction:error:یک raycast در برابر Streetscape Geometry بارگذاری شده در صحنه انجام میدهد.
لنگرهای پشت بام
لنگرهای پشت بام نوع جدیدی از لنگرهای مکانی هستند که به شما کمک میکنند محتوا را روی پشت بام لنگر بیندازید.
اندروید (کاتلین/جاوا)
به لنگرهای مکانی (جاوا) مراجعه کنید. علاوه بر این، برنامه نمونه geospatial_java بهروزرسانی شده است تا لنگرهای پشت بام را نیز شامل شود.
اندروید NDK (سی)
برای اطلاعات بیشتر به لنگرهای مکانی (C) مراجعه کنید.
یونیتی (بنیاد واقعیت افزوده)
برای اطلاعات بیشتر به لنگرهای مکانی مراجعه کنید. علاوه بر این، نمونه مکانی بهروزرسانی شده است تا لنگرهای پشت بام را نیز شامل شود.
-
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()یک لنگر برای اشیاء بازی در صحنه شما در عرض جغرافیایی، طول جغرافیایی، ارتفاع از سطح پشت بام و جهت مشخص شده فراهم میکند. -
ResolveAnchorOnRooftopPromise -
ResolveAnchorOnRooftopResult
آیاواس
برای اطلاعات بیشتر به Geospatial anchors (iOS) مراجعه کنید. علاوه بر این، برنامه GeospatialExample بهروزرسانی شده است تا شامل Rooftop anchors نیز بشود.
-
GARSession.createAnchorWithCoordinate:altitudeAboveRooftop:eastUpSouthQAnchor:completionHandler:error:یک لنگر پشت بام در مکان مشخص شده، ارتفاع از بالای پشت بام به متر و جهت گیری نسبت به زمین ایجاد میکند. -
GARCreateAnchorOnRooftopFutureحالت ناهمزمانِ حل یک لنگر Rooftop را نگه میدارد. -
GARRooftopAnchorStateوضعیت حل یک لنگر Rooftop را توصیف میکند.
عمق جغرافیایی
وقتی هر دو حالت Depth API و Streetscape Geometry در یک جلسه ARCore در مناطقی با پوشش VPS فعال شوند، تصاویر عمق تولید شده با استفاده از Streetscape Geometry بهبود مییابند. Streetscape Geometry در هر تصویر عمق تولید شده تا محدوده ۶۵.۵۳۵ متر ادغام میشود. برای مشاهده این مزیت، هنگام فراخوانی Depth API نیازی به تغییر نیست.
اندروید (کاتلین/جاوا)
برای اطلاعات بیشتر به عمق مکانی (جاوا) مراجعه کنید.
اندروید NDK (سی)
برای اطلاعات بیشتر به عمق جغرافیایی (C) مراجعه کنید.
یونیتی (بنیاد واقعیت افزوده)
برای اطلاعات بیشتر به عمق جغرافیایی (C) مراجعه کنید.
آیاواس
ابزار Scene Semantics در حال حاضر برای iOS در دسترس نیست.
پشتیبانی از رندر ولکان
ARCore اکنون با ارائه تصویر دوربین از طریق AHardwareBuffer پشتیبانی از رندر Vulkan را ارائه میدهد. میتوانید با اتصال این Hardware Buffer به VkImage از آن استفاده کنید.
برای اطلاعات بیشتر به بخش رندر کردن برنامه ARCore با استفاده از Vulkan و برنامه نمونه hello_ar_vulkan_c مراجعه کنید.
اندروید (کاتلین/جاوا)
اندروید NDK (سی)
یونیتی (بنیاد واقعیت افزوده)
رندر Vulkan در حال حاضر برای Unity با استفاده از AR Foundation در دسترس نیست.
لرزشگیر الکترونیکی تصویر (EIS)
شما میتوانید ARCore را طوری پیکربندی کنید که از لرزشگیر الکترونیکی تصویر استفاده کند، که فریمهای دوربین را برای یک تجربه کاربری روانتر، هموارتر میکند.
برای اطلاعات بیشتر به فعال کردن تثبیتکننده الکترونیکی تصویر و برنامه نمونه hello_eis_kotlin مراجعه کنید.
اندروید (کاتلین/جاوا)
-
Config.ImageStabilizationMode -
Frame.transformCoordinates3d() -
Session.isImageStabilizationModeSupported() - یک مشکل شناختهشده وجود دارد که فراخوانی تابع
Frame.transformCoordinates3d()با مختصات دوبعدی غیر ازOPENGL_NORMALIZED_DEVICE_COORDINATESبه جای ایجاد خطایIllegalArgumentExceptionباعث خرابی میشود. این مشکل در نسخه بعدی حل خواهد شد.
اندروید NDK (سی)
-
ArImageStabilizationMode -
ArFrame_transformCoordinates3d() -
ArSession_isImageStabilizationModeSupported() - یک مشکل شناختهشده وجود دارد که در آن فراخوانی
ArFrame_transformCoordinates3d()با مختصات دوبعدی غیر ازAR_COORDINATES_2D_OPENGL_NORMALIZED_DEVICE_COORDINATESباعث میشود برنامه شما به جای بازگرداندنAR_ERROR_INVALID_ARGUMENT، متوقف شود. این مشکل در نسخه بعدی حل خواهد شد.
یونیتی (بنیاد واقعیت افزوده)
EIS در حال حاضر برای Unity با استفاده از AR Foundation در دسترس نیست.
آیاواس
EIS در حال حاضر برای iOS در دسترس نیست.
APIهای ناهمگام ARCore
این نسخه، APIهای جدید ناهمگام ARCore را برای بهبود ارگونومی هنگام کار با عملیات ناهمگام، با پیروی از الگوی Future و Promise، معرفی میکند.
اندروید (کاتلین/جاوا)
- حل کردن لنگرهای زمین: از
Earth.resolveAnchorOnTerrainAsync()برای بدست آوردنResolveAnchorOnTerrainFutureاستفاده کنید. نماد قدیمیEarth.resolveAnchorOnTerrain()منسوخ شده است و ممکن است در نسخه بعدی ARCore حذف شود. - حل کردن لنگرهای ابری: از
Session.resolveCloudAnchorAsync()برای بدست آوردنResolveCloudAnchorFutureاستفاده کنید. نماد قدیمیSession.resolveCloudAnchor()منسوخ شده است و ممکن است در نسخه بعدی ARCore حذف شود. - لنگرهای ابری میزبانی: از
Session.hostCloudAnchorAsync()برای دریافتHostCloudAnchorFutureاستفاده کنید. نمادهای قدیمیSession.hostCloudAnchor()وSession.hostCloudAnchorWithTtl()منسوخ شدهاند و ممکن است در نسخه بعدی ARCore حذف شوند. - بررسی در دسترس بودن APK: از
ArCoreApk.checkAvailabilityAsync()برای ثبت یک فراخوانی مجدد استفاده کنید. نماد قدیمیArCoreApk.checkAvailability()منسوخ نشده است.
اندروید NDK (سی)
- حل کردن لنگرهای زمین: از
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()برای ثبت یک فراخوانی مجدد استفاده کنید. نماد قدیمیArCoreApk_checkAvailability()منسوخ نشده است.
یونیتی (بنیاد واقعیت افزوده)
- حل کردن لنگرهای زمینی: از
ARAnchorManagerExtensions.ResolveAnchorOnTerrainAsync()برای بدست آوردنResolveAnchorOnTerrainPromiseاستفاده کنید. نماد قدیمیARAnchorManagerExtensions.ResolveAnchorOnTerrain()منسوخ شده است و ممکن است در نسخه بعدی ARCore حذف شود. - حل کردن لنگرهای ابری: از
ARAnchorManagerExtensions.ResolveCloudAnchorAsync()برای دریافتResolveCloudAnchorPromiseاستفاده کنید. نماد قدیمیARAnchorManagerExtensions.ResolveCloudAnchorId()منسوخ شده است و ممکن است در نسخه بعدی ARCore حذف شود. - لنگرهای ابری میزبانی: از
ARAnchorManagerExtensions.HostCloudAnchorAsync()برای دریافتHostCloudAnchorPromiseاستفاده کنید. نمادهای قدیمیARAnchorManagerExtensions.HostCloudAnchor()منسوخ شدهاند و ممکن است در نسخه بعدی ARCore حذف شوند.
آیاواس
- حل لنگرهای زمین: برای بدست آوردن
GARCreateAnchorOnTerrainFutureGARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:completionHandler:error:استفاده کنید. نماد قدیمیGARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:error:منسوخ شده است و ممکن است در نسخه بعدی ARCore حذف شود. - حل لنگرهای ابری: برای بدست آوردن
GARResolveCloudAnchorFutureGARSession.resolveCloudAnchorWithIdentifier:completionHandler:error:استفاده کنید. نماد قدیمیGARSession.resolveCloudAnchorWithIdentifier:error:منسوخ شده است و ممکن است در نسخه بعدی ARCore حذف شود. - لنگرهای ابری میزبانی: برای دریافت
GARHostCloudAnchorFutureGARSession.hostCloudAnchor:TTLDays:completionHandler:error:استفاده کنید. نمادهای قدیمیGARSession.hostCloudAnchor:error:وGARSession.hostCloudAnchor:TTLDays:error:منسوخ شدهاند و ممکن است در نسخه بعدی ARCore حذف شوند.
ویژگیهای جدید ARCore نسخه ۱.۳۶.۰
پشتیبانی از مدیریت بستههای Swift در iOS
کیت توسعه نرمافزار ARCore برای iOS اکنون رسماً از Swift Package Manager پشتیبانی میکند. برای دستورالعملهای نحوه ادغام با ARCore با استفاده از Swift Package Manager، به بخش «فعال کردن AR در برنامه iOS خود» مراجعه کنید.
ویژگیهای جدید ARCore نسخه ۱.۳۵.۰
دقت موقعیت مکانی، جهت را با انحراف جایگزین میکند
اکنون تمام موقعیتهای جغرافیایی، دقت جهتگیری خود را در چرخش انحراف نشان میدهند و جایگزین دقت جهت میشوند.
- جاوا/کاتلین:
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جایگزین کنید. - یونیتی:
GeospatialPose.Headingرا باGeospatialPose.EunRotationوGeospatialPose.HeadingAccuracyرا باGeospatialPose.OrientationYawAccuracyجایگزین کنید.
تغییرات و بهروزرسانیهای تکمیلی
برای سایر تغییرات، رفع اشکالات و بهبود عملکرد، به یادداشتهای انتشار مراجعه کنید:
- یادداشتهای انتشار ARCore SDK برای اندروید
- یادداشتهای انتشار ARCore برای اندروید NDK
- یادداشتهای انتشار ARCore SDK برای iOS
- یادداشتهای انتشار افزونههای ARCore برای بنیاد AR
ویژگیهای جدید ARCore نسخه ۱.۳۴.۰
بررسی کنید که آیا قابلیتهای مکانی در مکان فعلی دستگاه موجود است یا خیر
API موقعیتیابی مکانی اکنون میتواند در زمان اجرا، در دسترس بودن سیستم موقعیتیابی بصری (VPS) را در یک موقعیت افقی مشخص بررسی کند. این API میتواند بدون یک جلسه فعال واقعیت افزوده (AR) مورد استفاده قرار گیرد: برای مثال، فقط زمانی که VPS در دسترس است، دکمه "Enter AR" را نمایش دهد.
- جاوا/کاتلین:
Session.checkVpsAvailabilityAsync() - ج:
ArSession_checkVpsAvailabilityAsync() - iOS:
GARSession.checkVPSAvailabilityAtCoordinate:completionHandler: - یونیتی (بنیاد AR):
AREarthManager.CheckVpsAvailability()
جهت گیری موقعیت جغرافیایی
ژستهای جغرافیایی اکنون جهت خود را در فضای سهبعدی نشان میدهند.
- جاوا/کاتلین:
feedbackGeospatialPose.getEastUpSouthQuaternion() - ج:
ArEarth_getGeospatialPose() - iOS:
GARGeospatialTransform.eastUpSouthQTarget - یونیتی:
GeospatialPose.EunRotation()
تبدیل موقعیتهای جغرافیایی
اکنون میتوان ژستهای جغرافیایی را به ژستهای فضای جهانی (AR) تبدیل کرد.
برای دریافت ژست مکانی از یک ژست واقعیت افزوده:
- جاوا/کاتلین:
Earth.getGeospatialPose() - ج:
ArEarth_getGeospatialPose() - iOS:
GARSession.geospatialTransformFromTransform:error: - یونیتی:
AREarthManager.Convert(Pose)
برای دریافت ژست واقعیت افزوده از یک ژست مکانی:
- جاوا/کاتلین:
Earth.getPose() - ج:
ArEarth_getPose() - iOS:
GARSession.transformFromGeospatialCoordinate:altitude:eastUpSouthQTarget:error: - یونیتی:
AREarthManager.Convert(GeospatialPose)
موقعیتهای مکانی بهدستآمده از این توابع، مقدار عنوان صفر دارند. در عوض، از موارد زیر استفاده کنید:
- اندروید (جاوا/کاتلین/سی): چهارگانهی EUS مربوط به پوز
- iOS: ژست
eastUpSouthQTargetاست - وحدت:
EunRotationدر پوز
تغییرات و بهروزرسانیهای تکمیلی
برای سایر تغییرات، رفع اشکالات و بهبود عملکرد، به یادداشتهای انتشار مراجعه کنید:
- یادداشتهای انتشار ARCore SDK برای اندروید
- یادداشتهای انتشار ARCore برای اندروید NDK
- یادداشتهای انتشار ARCore SDK برای iOS
- یادداشتهای انتشار افزونههای ARCore برای بنیاد AR
ویژگیهای جدید ARCore نسخه ۱.۳۳.۰
نقطه پایانی جدید Cloud Anchors
- برای استفاده از Cloud Anchors، اکنون باید ARCore API را به جای ARCore Cloud Anchor API قدیمیتر که اکنون منسوخ شده است، فعال کنید. برای پشتیبانی از نسخههای قدیمیتر برنامه، میتوانید هر دو را هنگام انتقال فعال کنید. برنامههای ساخته شده با ARCore SDK 1.32.0 و پایینتر، API قدیمیتر را هدف قرار میدهند، در حالی که برنامههای ساخته شده با ARCore SDK 1.33.0 و بالاتر، API جدید را هدف قرار میدهند. به موارد زیر توجه کنید:
- API جدید به جای
arcorecloudanchor.googleapis.comاز نام دامنهarcore.googleapis.comاستفاده میکند. - اگر از کلید API استفاده میکنید که توسط API محدود شده است، باید API ARCore را مجاز کنید.
- اگر از طریق backend خود درخواستهایی را به ARCore Cloud Anchor Management API ارسال میکنید، باید پس از فعال کردن ARCore API، نام دامنه را نیز به
arcore.googleapis.comتغییر دهید. - API/endpoint قدیمی تا آگوست 2023 همچنان پشتیبانی خواهد شد.
- برای جزئیات بیشتر به تغییرات نقطه پایانی ARCore 1.33 Cloud Anchor مراجعه کنید.
- API جدید به جای
لنگرهای زمینی
- رابط برنامهنویسی کاربردی (API) لنگر زمین جغرافیایی، یک لنگر را در یک موقعیت افقی و ارتفاع مشخص نسبت به عوارض زمین در موقعیت افقی ایجاد میکند.
تغییرات و بهروزرسانیهای تکمیلی
برای سایر تغییرات، رفع اشکالات و بهبود عملکرد، به یادداشتهای انتشار مراجعه کنید:
- یادداشتهای انتشار ARCore SDK برای اندروید
- یادداشتهای انتشار ARCore برای اندروید NDK
- یادداشتهای انتشار ARCore SDK برای iOS
- یادداشتهای انتشار افزونههای ARCore برای بنیاد AR
ویژگیهای جدید ARCore نسخه ۱.۳۲.۰
این نسخه هیچ ویژگی جدیدی ندارد.
اندروید و یونیتی (بنیاد AR برای اندروید)
-
targetSdkVersionدر ARCore به سطح API اندروید ۳۲ بهروزرسانی شده است. اگر برنامه شماtargetSdkVersionمشخص نکرده باشد،targetSdkVersionبرنامه شما به دلیل ادغام آشکار، ۳۲ خواهد شد.- کیت توسعه نرمافزار اندروید (Android SDK): مشخص کردن
targetSdkVersionدرbuild.gradleیاAndroidManifest.xmlپروژه شما، مقدارtargetSdkVersionدر ARCore را لغو میکند. - بنیاد AR برای اندروید: مشخص کردن سطح API هدف در پروژه Unity شما در مسیر Project Settings > Player > Android > Other Settings، مقدار
targetSdkVersionدر ARCore را لغو خواهد کرد.
- کیت توسعه نرمافزار اندروید (Android SDK): مشخص کردن
تغییرات و بهروزرسانیهای تکمیلی
برای سایر تغییرات، رفع اشکالات و بهبود عملکرد، به یادداشتهای انتشار مراجعه کنید:
- یادداشتهای انتشار ARCore SDK برای اندروید
- یادداشتهای انتشار ARCore برای اندروید NDK
- یادداشتهای انتشار ARCore SDK برای iOS
- یادداشتهای انتشار افزونههای ARCore برای بنیاد AR
ویژگیهای جدید ARCore نسخه ۱.۳۱.۰
API مکانی ARCore
رابط برنامهنویسی کاربردی جدید ARCore Geospatial از دادههای مدلهای سهبعدی Google Earth و دادههای تصاویر Street View از Google Maps استفاده میکند تا برنامه شما را برای تجربیات واقعیت افزوده فراگیر، در مقیاس جهانی و مبتنی بر مکان توانمند سازد.
برای مشاهده مستندات توسعهدهندگان مختص پلتفرم و شروع به کار با API جدید Geospatial، به مقدمهای بر API ARCore Geospatial مراجعه کنید.
عمق برد بلند
API عمق ARCore اکنون بهینه شده است تا شامل حسگر عمق با برد بیشتر باشد و دامنه مشاهدات عمق قابل نمایش را افزایش دهد. تمام ۱۶ بیت تصویر عمق استفاده میشود و حداکثر برد ۶۵۵۳۵ میلیمتر را فراهم میکند. پیش از این فقط ۱۳ بیت با محدودیت ۸۱۹۱ میلیمتر در نظر گرفته میشد.
برای مشاهده مستندات توسعهدهندگان مختص پلتفرم و درک تغییرات Depth API به بخش تغییرات Depth مراجعه کنید.
یادداشتهای مخصوص پلتفرم
اندروید
رابطهای برنامهنویسی کاربردی جدید مکانی ARCore
جاوا
-
Earthقابلیت مکانیابی در مختصات نسبی زمین را فراهم میکند.-
Earth.createAnchor()یکAnchorجدید در مکان و جهت مشخص شده نسبت به زمین ایجاد میکند.
-
-
Earth.Earthstateوضعیت فعلیEarth، از جملهTrackingStateآن را توصیف میکند. -
GeospatialPoseیک موقعیت مکانی، ارتفاع و جهت قطبنمای خاص را نسبت به زمین توصیف میکند.
-
سی
-
ArEarthقابلیت مکانیابی در مختصات نسبی زمین را فراهم میکند.-
ArEarth_acquireNewAnchor()یکAnchorجدید در مکان و جهت مشخص شده نسبت به زمین ایجاد میکند. -
ArEarthStateوضعیت فعلیArEarth، از جملهArTrackingStateآن را توصیف میکند.
-
-
ArGeospatialPoseیک موقعیت مکانی، ارتفاع و جهت قطبنمای خاص را نسبت به زمین توصیف میکند.
-
بهروزرسانی APIهای عمق ARCore
جاوا
- فراخوانیهای تابع Depth API تغییر کردهاند:
-
Frame.acquireDepthImageبهFrame.acquireDepthImage16Bits. -
Frame.acquireRawDepthImageبهFrame.acquireRawDepthImage16Bits. - فرمتهای تصویر خروجی برای هر دو فراخوانی از
android.graphics.ImageFormat#DEPTH16بهandroid.hardware.HardwareBuffer#D_16تغییر کردهاند. - عمق هنوز به صورت یک عدد صحیح ۱۶ بیتی در واحد میلیمتر نمایش داده میشود، اما اکنون از تمام ۱۶ بیت برای نمایش عمق استفاده میشود و امکان تغییر حداکثر محدوده قابل بیان از ۸۱۹۱ میلیمتر تا ۶۵۵۳۵ میلیمتر را فراهم میکند.
-
- فراخوانیهای تابع Depth API شامل
Frame.acquireDepthImageوFrame.acquireRawDepthImageمنسوخ شدهاند. لطفاً به جای آنها ازFrame.acquireDepthImage16BitsوFrame.acquireRawDepthImage16Bitsاستفاده کنید.
- فراخوانیهای تابع Depth API تغییر کردهاند:
سی
- فراخوانیهای تابع Depth API تغییر کردهاند:
-
ArFrame_acquireDepthImageبهArFrame_acquireDepthImage16Bits. -
ArFrame_acquireRawDepthImageبهArFrame_acquireRawDepthImage16Bits - قالبهای تصویر خروجی برای هر دو فراخوانی از
AR_IMAGE_FORMAT_DEPTH16بهAR_IMAGE_FORMAT_D_16تغییر کردهاند. - عمق هنوز به صورت یک عدد صحیح ۱۶ بیتی در واحد میلیمتر نمایش داده میشود، اما اکنون از تمام ۱۶ بیت برای نمایش عمق استفاده میشود و امکان تغییر حداکثر محدوده قابل بیان از ۸۱۹۱ میلیمتر تا ۶۵۵۳۵ میلیمتر را فراهم میکند.
-
- فراخوانیهای تابع Depth API به نامهای
ArFrame_acquireDepthImageوArFrame_acquireRawDepthImageمنسوخ شدهاند. لطفاً به جای آنها ازArFrame_acquireDepthImage16BitsوArFrame_acquireRawDepthImage16Bitsاستفاده کنید.
- فراخوانیهای تابع Depth API تغییر کردهاند:
یونیتی (بنیاد واقعیت افزوده)
رابطهای برنامهنویسی کاربردی جدید مکانی ARCore:
-
AREarthManagerقابلیت مکانیابی در مختصات نسبی زمین را فراهم میکند.-
EarthTrackingStateوضعیت ردیابی زمین را برای آخرین فریم دریافت میکند. -
EarthStateشرایط خطای زمین را حفظ میکند.
-
-
GeospatialPoseیک موقعیت مکانی، ارتفاع و جهت قطبنمای خاص را نسبت به زمین توصیف میکند. -
ARGeospatialAnchorیک لنگر برای اشیاء بازی در صحنه شما فراهم میکند که در یک مکان و جهت نسبت به زمین مشخص شده است.
آیاواس
رابطهای برنامهنویسی کاربردی جدید مکانی ARCore:
-
GAREarthموقعیتیابی نسبی نسبت به زمین را فراهم میکند.-
GAREarthState.earthStateحالتها و شرایط خطا را مدیریت میکند. -
GAREarthState.trackingStateوضعیت ردیابی مورد نیاز برای دادههای مکانی را حفظ میکند.
-
-
GARGeospatialTransformنمایشی از یک تبدیل سراسری شامل موقعیت، جهت، ارتفاع و تخمینهای دقت. -
GARSession.createAnchorWithCoordinate:altitude:eastUpSouthQAnchor:error:یک لنگر مکانی در مکان و جهت مشخص شده نسبت به زمین ایجاد میکند.
تغییرات دیگر
برای سایر تغییرات، رفع اشکالات و بهبود عملکرد، به یادداشتهای انتشار مراجعه کنید:
- یادداشتهای انتشار ARCore SDK برای اندروید
- یادداشتهای انتشار ARCore برای اندروید NDK
- یادداشتهای انتشار ARCore SDK برای iOS
- یادداشتهای انتشار افزونههای ARCore برای بنیاد AR
ویژگیهای جدید ARCore نسخه ۱.۳۰.۰
این نسخه هیچ ویژگی جدیدی ندارد.
اندروید
- API حاشیهنویسیشده مقادیری را با
@NonNullو@Nullableبرمیگرداند. - نسخههای ابزار ساخت مورد استفاده برای ساخت نمونهها بهروزرسانی شد: Gradle به ۷.۰.۲ و افزونه Android Gradle به ۷.۰.۴. ارتقاء این ابزارها برای برنامههای موجود ARCore الزامی نیست . برای ویژگیهای جدید، مشکلات شناخته شده، اطلاعات ناسازگاری، به مستندات اندروید در مورد افزونه Android Gradle مراجعه کنید.
یونیتی (بنیاد واقعیت افزوده)
نسخه جدید
arcore-unity-extensions-without-edm4u.tgzاضافه شد. این نسخه وابستگیهای خارجی مانند External Dependency Manager for Unity را ندارد و امکان ارتقا به EDM را فراهم میکند. استفاده از این نسخه سبک ممکن است ناسازگاریها را هنگام استفاده از کتابخانههای Firebase برطرف کند. برای شروع، به دستورالعملهای نصب ARCore Extensions for AR Foundation مراجعه کنید.ExternalDependencyManager به نسخه ۱.۲.۱۶۸ ارتقا یافت تا پشتیبانی بهتری از نسخه ۲۰۲۱.۲+ داشته باشد، جزئیات را در گزارش تغییرات EDM ببینید.
مشکلی که باعث میشد جلسه ARCore هر فریم را پیکربندی کند، حتی اگر هیچ تغییری در پیکربندی جلسه ایجاد نشده باشد که باعث افت FPS میشد، برطرف شد.
آیاواس
- رفع اشکالات مختلف و بهبود عملکرد.
ویژگیهای جدید ARCore نسخه ۱.۲۹.۰
این نسخه هیچ ویژگی جدیدی ندارد.
اندروید
- hello_ar_java و hello_ar_kotlin : رنگ یک شیء را هنگام قرار دادن آن با استفاده از
SCREENSPACE_WITH_APPROXIMATE_DISTANCEتغییر داد تا اشیاء قرار داده شده با استفاده از Instant Placement بهتر تشخیص داده شوند. - persistent_cloud_anchor_java : یک وابستگی ساخت از دست رفته به نمونه اضافه شد. اشکالی را برطرف میکند که در آن میزبانی هر anchor، حتی اگر پروژه به درستی راهاندازی شده باشد، وضعیت
CloudAnchorState ERROR_NOT_AUTHORIZEDرا نشان میداد.
یونیتی (بنیاد واقعیت افزوده)
- بسته ARCore Extensions اکنون برای اطمینان از سازگاری نسخه نصب شده AR Foundation با نسخه ARKit XR Plugin به 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 منتقل شدهاند.
آیاواس
- رفع اشکالات مختلف و بهبود عملکرد.
یادداشتهای انتشار کامل
- یادداشتهای کامل انتشار ARCore SDK برای اندروید
- یادداشتهای کامل انتشار ARCore برای اندروید NDK
- یادداشتهای انتشار کامل کیت توسعه نرمافزاری ARCore برای iOS
- یادداشتهای انتشار افزونههای ARCore برای بنیاد AR
ویژگیهای جدید ARCore نسخه ۱.۲۸.۰
- از نوامبر ۲۰۲۲ ، برنامههای دارای قابلیت AR دیگر قادر به دریافت تصاویر NDK یا فرادادههای تصویر نخواهند بود . نسخههای SDK تحت تأثیر قرار گرفته به تابع خاصی که فراخوانی میشود بستگی دارد، برای کسب اطلاعات بیشتر به اطلاعیه منسوخ شدن مراجعه کنید.
- C : فراخوانیهای
ArImage_getNdkImage()وArImage_getNdkCameraMetadata()همیشهnullptrبرای اشیاءAImageوACameraMetadataبرمیگردانند. - جاوا : شیء
Imageکه توسطFrame#acquireCameraImage()برگردانده میشود، اندازهای برابر با0در0پیکسل خواهد داشت. فراخوانیهای تابعFrame#getImageMetadata()همیشه باعث بروز خطایIllegalArgumentExceptionمیشوند. - یونیتی (AR Foundation) : هنگام استفاده از AR Foundation 2.1 (Unity 2019 LTS)، فراخوانیهای
XRCameraSubsystem.TryGetLatestImage(out XRCameraImage)همیشهfalseبرمیگردانند. AR Foundation 4.x و نسخههای بعدی تحت تأثیر قرار نگرفتهاند، فراخوانیهایXRCameraSubsystem.TryGetLatestImage(out XRCameraImage)به طور عادی رفتار خواهند کرد. - ARCore SDK برای Unity (منسوخ شده) : فراخوانیهای
Frame.CameraImage.AcquireCameraImageBytes()به اندازه0در0پیکسل خواهد بود. فراخوانیهایFrame.CameraMetadata.GetAllCameraMetadataTags()یکList<CameraMetadataTag>خالی برمیگرداند.
- C : فراخوانیهای
- جاوا :
ArImage#getCropRect()اکنون یک مستطیل برش با اندازه کامل برمیگرداند، یعنی تمام پیکسلهای تصویر معتبر هستند. برای اطلاعات بیشتر بهandroid.media.Image#getCropRect()مراجعه کنید.
ویژگیهای جدید ARCore نسخه ۱.۲۷.۰
این نسخه هیچ ویژگی جدیدی ندارد. برای رفع اشکالات مختلف و بهبود عملکرد، به یادداشتهای انتشار زیر مراجعه کنید.
- یادداشتهای کامل انتشار ARCore SDK برای اندروید
- یادداشتهای کامل انتشار ARCore برای اندروید NDK
- یادداشتهای انتشار کامل کیت توسعه نرمافزاری ARCore برای iOS
- یادداشتهای انتشار افزونههای ARCore برای بنیاد AR
علاوه بر رفع اشکالات مختلف، این نسخه شامل موارد زیر نیز میشود.
نمونه برنامهها به زبان کاتلین
hello_ar_kotlin اضافه شد تا بهترین شیوهها را هنگام استفاده از کاتلین نشان دهد.
برای اطلاعات بیشتر به QuickStart برای اندروید مراجعه کنید.
ml_kotlin اضافه شد تا نشان دهد چگونه میتوان از یک مدل طبقهبندی تصویر با ARCore استفاده کرد.
برای اطلاعات بیشتر به بخش «استفاده از ARCore به عنوان ورودی برای مدلهای یادگیری ماشین» مراجعه کنید.
ویژگیهای جدید ARCore نسخه ۱.۲۶.۰
این نسخه تغییرات قابل توجه زیر را اضافه میکند:
- اکنون URIها برای مجموعه دادهها در ضبط و پخش پشتیبانی میشوند.
تغییرات و بهروزرسانیهای تکمیلی
برای رفع اشکالات بیشتر و سایر تغییرات مهم، به یادداشتهای انتشار زیر مراجعه کنید.
- یادداشتهای کامل انتشار ARCore SDK برای اندروید
- یادداشتهای کامل انتشار ARCore برای اندروید NDK
- یادداشتهای انتشار کامل کیت توسعه نرمافزاری ARCore برای iOS
- یادداشتهای انتشار افزونههای ARCore برای بنیاد AR
ویژگیهای جدید ARCore نسخه ۱.۲۵.۰
این نسخه هیچ ویژگی جدیدی ندارد. برای رفع اشکالات مختلف و بهبود عملکرد، به یادداشتهای انتشار زیر مراجعه کنید.
- یادداشتهای کامل انتشار ARCore SDK برای اندروید
- یادداشتهای کامل انتشار ARCore برای اندروید NDK
- یادداشتهای انتشار کامل کیت توسعه نرمافزاری ARCore برای iOS
- یادداشتهای انتشار کامل ARCore SDK برای Unity
- یادداشتهای انتشار افزونههای ARCore برای بنیاد AR
ویژگیهای جدید ARCore نسخه ۱.۲۴.۰
این نسخه تغییرات قابل توجه زیر را اضافه میکند:
- یک API جدید برای عمق خام که بدون فیلتر کردن فضای تصویر، عمق تصویر را ارائه میدهد.
- Custom data track recording capability to the Recording & Playback API
- The ability to conduct Depth hit-tests
Raw Depth
The Raw Depth API provides depth data for a camera image that has higher accuracy than full Depth API data, but does not always cover every pixel. Raw depth images, along with their matching confidence images, can also be further processed, allowing apps to use only the depth data that has sufficient accuracy for their individual use case.
Developer guides:
Custom track recording
The new custom data track capability in the Recording & Playback API allows you to add custom data to an ARCore frame during recording and retrieve that same data from the frame during playback.
Developer guides:
Depth hit-tests
Previously, hit-tests could only be conducted on detected planes, limiting locations to large, flat surfaces. Depth hit-tests take advantage of both smooth and raw depth information to provide more accurate hit results, even on non-planar and low-texture surfaces.
Developer guides:
Additional changes and updates
See the following release notes for additional bug fixes and other breaking changes.
- ARCore SDK for Android complete release notes
- ARCore for Android NDK complete release notes
- ARCore SDK for iOS complete release notes
- ARCore SDK for Unity complete release notes
- ARCore Extensions for AR Foundation release notes
What's new in ARCore v1.23.0
Pending dual camera support
Support for dual camera is being rolled out in the coming weeks. See the supported devices page for more information.
New debugging tools
By sending a broadcast intent, developers can enable:
ARCore API call logging to the Android debug log
The ARCore performance overlay
Hosting and resolving Cloud Anchors
AR-enabled apps built using ARCore SDK 1.11.0 or earlier are no longer able to host or resolve Cloud Anchors.
C: Cloud Anchors returned by
ArSession_hostAndAcquireNewCloudAnchorandArSession_resolveAndAcquireNewCloudAnchorwill always have stateAR_CLOUD_ANCHOR_STATE_ERROR_INTERNAL.Java: Cloud Anchors returned by
Session.hostCloudAnchor(Anchor)andSession.resolveCloudAnchor(String)will always have stateAnchor.CloudAnchorState.ERROR_INTERNAL.Unity: Cloud Anchors returned by
XPSession.CreateCloudAnchor(Anchor)andXPSession.ResolveCloudAnchor(string)will always have stateCloudServiceResponse.ErrorInternal.
Apps built with ARCore SDK 1.12.0 or later are unaffected. Their use of the ARCore Cloud Anchor API is covered by the deprecation policy .
Additional changes and updates
See the following release notes for additional bug fixes and other breaking changes.
What's new in ARCore v1.22.0
This release adds new Recording and Playback APIs and Camera Config Filter APIs for ARCore Extensions for AR Foundation. See the ARCore Extensions complete release notes for details.
Additional changes and updates
See the following release notes for additional bug fixes and other breaking changes.
What's new in ARCore v1.21.0
This release adds new Recording and Playback APIs for Android , Android NDK , and Unity .
Recording and Playback
With the Recording and Playback APIs, you can record video and AR data once within a given environment and use that content to replace a live camera session for testing purposes. ARCore saves recorded sessions to MP4 files that contain multiple video tracks and other miscellaneous data on the device. You can then point your app to use this data in place of a live camera session. This allows you to replay that content indefinitely to try out different AR effects without having to return to the field.
For more details:
جاوا:
ج:
وحدت:
What's new in ARCore v1.20.0
This release adds the following notable changes:
New support for persistent Cloud Anchors .
Updated image metadata capabilities for Android and Android NDK.
C: Developer guide ,
ArImageMetadata_getConstEntry, andArImageMetadata_getAllKeys.Java: Developer guide and
MetadataNotFoundException.
New guidance requiring Gradle version 5.6.4 or later, to support ARCore Extensions for AR Foundation or the ARCore SDK for Unity (1.19 or later) with Unity 2018.4 or later.
New support for persistent Cloud Anchors
Prior to ARCore v1.20, Cloud Anchors could only be resolved for up to 24 hours after they were first hosted. With persistent Cloud Anchors, you can now create a Cloud Anchor with a time to live (TTL) between one and 365 days. You can also extend the lifetime of the anchor after it is already hosted using the Cloud Anchor Management API .
Use of persistent Cloud Anchors is covered by the new Cloud Anchors deprecation policy .
C: Developer guide ,
ArSession_hostAndAcquireNewCloudAnchorWithTtl, andArSession_estimateFeatureMapQualityForHosting.Java: Developer guide ,
hostCloudAnchorWithTtl, andestimateFeatureMapQualityForHosting.iOS: Developer guide ,
hostCloudAnchor:TTLDays:error:andestimateFeatureMapQualityForHosting:.ARCore Extensions for AR Foundation: Android developer guide , iOS developer guide ,
ARAnchorManager.HostCloudAnchor(ARAnchor, int),ARAnchorManager.SetAuthToken(string), andARAnchorManager.EstimateFeatureMapQualityForHosting(Pose).Unity targeting Android: Developer guide ,
XPSession.CreateCloudAnchor(Anchor, int)andXPSession.EstimateFeatureMapQualityForHosting(Pose).Unity targeting iOS: Developer guide ,
XPSession.SetAuthToken(string)andXPSession.CreateCloudAnchor(UnityARUserAnchorComponent, int).
Additional changes and updates
See the following release notes for additional bug fixes and other breaking changes.
What's new in ARCore v1.19.0
This release adds the following notable changes:
- New Instant Placement API for Android , Android NDK , and Unity .
- New guidance for building for Android 11 with Unity.
Instant Placement
The Instant Placement API allows the user to place an AR object on the screen without having to wait for ARCore to detect surface geometry. Object placement is refined in real time as the user moves further around the environment. Once ARCore detects the correct pose in the region where the AR object is placed, the white object automatically updates to be pose-accurate, and becomes opaque.
The following clip shows a virtual Android figure on a real-world table. The figure is white and much smaller when first placed. After ARCore refines its calculations of the scene dimensions, the figure jumps to a more accurate position. This may result in a difference in the perceived "size" of the object.
For more details:
اندروید:
Android NDK:
وحدت:
What's new in ARCore v1.18.0
This release adds the following notable changes:
- New Depth API for Android , Android NDK , and Unity .
- New guidance for creating Augmented Faces assets and importing them into Android Studio.
- Depth API will be supported in
4.1.0-preview.2for bothAR FoundationandARCore XR Plugin.
Depth API
On depth-supported devices , the Depth API uses the ARCore-supported device's RGB camera, or active depth sensor if available, to create depth maps. You can then use the per-pixel depth provided by a depth map to make virtual objects accurately appear in front of or behind real world objects, enabling immersive and realistic user experiences.
For example, the following images show a virtual Android figure in a real space containing a trunk beside a door. The Depth API properly occludes the figure behind the edge of the trunk.
For more details:
اندروید:
Android NDK:
وحدت:
What's new in ARCore v1.17.0
Notable in ARCore SDK for Android
Added new methods that allow for buffering multiple camera frames. Along with other techniques such as multithreaded rendering, this can be used to decrease variability in frame rates.
Added missing depth sensor usage and target FPS getters:
See also the Android SDK for Android complete release notes .
Notable in ARCore SDK for Unity
- Added support for multithreaded rendering in Unity version 2018.2 or later, which in most cases will improve performance and can help decrease variability in frame rates. This is a Unity project setting, located in Project Settings > Player > Android > Other Settings > Multithreaded Rendering . See the Developer guide for details.
- Added
SessionStatus.ErrorCameraNotAvailableandSessionStatus.ErrorIllegalStateto indicate specific ARCore session error states.
See also the ARCore SDK for Unity complete release notes .
Notable in ARCore SDK for iOS
The binary size of the Cloud Anchors SDK has significantly decreased.
Bitcode is now supported for Augmented Faces.
See also the ARCore SDK for iOS complete release notes .
What's new in ARCore v1.16.0
Notable in ARCore SDK for Android and Sceneform SDK for Android
This release adds the following notable changes:
- Most devices now return additional supported camera configurations with lower GPU texture resolutions than the device's default GPU texture resolution. See ARCore supported devices for details. These expanded GPU resolutions are available via the
getSupportedCameraConfigs(CameraConfigFilter)API.
همچنین ببینید:
Notable in ARCore Extensions for AR Foundation
This release adds the following notable changes:
AR Foundation's
XRCameraConfigurationis extended with methods that let you choose the appropriate camera configuration based on the criteria you want. These methods include GetTextureDimensions() , GetFPSRange() , and GetDepthSensorUsages() . Read detailed instructions .Unity 2019.3.0f6 is now the minimum recommended version for ARCore Extensions. AR Foundation 3.1.0-preview.6 requires Unity version 2019.3 or later.
Unity now uses the terms Anchor , Cloud Anchor , and Cloud Anchor ID in their cross-platform AR API . The documentation for ARCore Extensions has been updated to reflect this.
همچنین ببینید:
Notable in ARCore SDK for Unity
This release adds the following notable change:
- Most devices now return additional supported camera configurations with lower GPU texture resolutions than the device's default GPU texture resolution. (See ARCore supported devices for details.) These expanded GPU resolutions are available via the ARCoreCameraConfigFilter API.
همچنین ببینید:
ARCore SDK for Unity complete release notes
What's new in ARCore v1.15.0
Notable in ARCore Extensions for AR Foundation
This release adds the following notable changes.
Added CloudAnchors sample showing how to create shared AR experiences for both Android and iOS. See instructions for Android or iOS .
Unity 2019.2.17f1 is now the minimum recommended version to use with ARCore Extensions.
ARCore Extensions complete release notes
Notable in ARCore SDK for Unity
This release has the following known issues.
Instant Preview may freeze Unity when using Android 9 and a USB 3 cable. To remedy, update to Android 10 or use a USB 2 cable.
Instant Preview may fail to display on device when Unity's game view resolution is too high. To remedy, lower Unity's game view resolution in the Editor.
ARCore SDK for Unity complete release notes
تغییرات اضافی
See the following release notes for additional bug fixes and other breaking changes.
What's new in ARCore v1.14.0
This release adds the following notable changes.
When an app temporarily loses the camera to another app on the device, the reason for tracking failure is now more specific:
Android:
TrackingFailureReasonisCAMERA_UNAVAILABLEinstead ofNONE.Android NDK:
ArTrackingFailureReasonsisAR_TRACKING_FAILURE_REASON_CAMERA_UNAVAILABLEinstead ofAR_TRACKING_FAILURE_REASON_NONE.Unity:
Session.LostTrackingReasonisLostTrackingReason.CameraUnavailableinstead ofNone.
Google collects and processes data from your use of the ARCore Extensions package pursuant to the Google Privacy Policy and the Google APIs Terms of Service . You can opt out of this.
What's new in ARCore v1.13.0
This release adds the following notable changes.
Support for using ARCore Extensions for Unity's AR Foundation to build iOS apps with Cloud Anchors .
Support for Environmental HDR lighting estimation in Sceneform .
See the following release notes for additional bug fixes and other breaking changes.
What's new in ARCore v1.12.0
This release adds the following changes:
Addition of the Augmented Faces feature to iOS. For more information, see this overview , quickstart , and developer guide .
Support for using ARCore Extensions for Unity's AR Foundation to build Android apps with Cloud Anchors.
The following changes to Cloud Anchors:
- To comply with our updated privacy requirements for using ARCore SDKs 1.12 or later, you must disclose the use of Cloud Anchors prominently in your application by including the following text, as well as a link to learn more, on a notice screen: “To power this session, Google will process visual data from your camera.” You can do this by implementing the recommended user notice flow available in our Cloud Anchor sample apps .
For more details, refer to User privacy requirements .
For more details on Cloud Anchors:
اندروید:
Android NDK:
iOS:
وحدت:
ARCore Extensions:
What's new in ARCore v1.11.0
This release adds the following changes:
The ARCore service has been renamed to Google Play Services for AR . On Google Play devices, it is now distributed as part of Google Play Services.
ARCore's camera configs target 60 fps on supported devices and prioritizes using the depth sensor on devices that have one. You can use new camera config filters to limit the camera capture frame rate to 30 fps, prevent ARCore from using a depth sensor, or filter based on both options.
For more details on camera configs:
اندروید:
Android NDK:
وحدت:
What's new in ARCore v1.10.0
This release adds new Environmental HDR lighting estimation capabilities to the Lighting Estimation API for Android, Android NDK, and Unity.
These APIs use machine learning to analyze the input camera image and estimate environmental lighting. You can use this lighting estimation data to render extremely realistic lighting, including a primary directional light, shadows, ambient lighting, specular highlights and reflections on virtual objects. The result is virtual content that feels more realistic.
For more details:
اندروید:
Android NDK:
وحدت:
What's new in ARCore v1.9.0
New in ARCore SDK for Android
This release adds these new APIs and features:
Scene Viewer is an immersive viewer that enables AR experiences from your website. It lets Android mobile device users easily place, view, and interact with web-hosted 3D models in their environment.
New Augmented Images features:
ARCore now tracks moving Augmented Images . Examples of moving images are an advertisement on a passing bus or an image on a flat object held by a user as they move their hand around.
After an image has been detected, ARCore is able to continue tracking the image's position and orientation, even if the image has temporarily moved out of the camera view.
Use
AugmentedImage#getTrackingMethod()(Java) orArAugmentedImage_getTrackingMethod()(NDK) to determine whether the Augmented image is currently being tracked by the camera (FULL_TRACKING), or is being tracked based on its last known position (LAST_KNOWN_POSE).
Cloud Anchors documentation now includes a more detailed explanation of how anchors are hosted and resolved .
New in ARCore SDK for Unity
New Augmented Images features:
ARCore now tracks moving Augmented Images . Examples of moving images might be an advertisement on a passing bus or an image on a flat object held by a user as they move it around.
After an image has been detected, ARCore is able to continue tracking the image's position and orientation, even if the image has temporarily moved out of the camera view.
The new
AugmentedImage.GetTrackingMethod()API enables your app to determine whether the Augmented image is currently being tracked by the camera (FullTracking), or is being tracked based on its last known position (LastKnownPose).
Cloud Anchors documentation now includes a more detailed explanation of how anchors are hosted and resolved .
New in ARCore SDK for iOS
Support for these devices:
Fifth-generation iPad Mini
Third-generation iPad Air
Cloud Anchors documentation now includes a more detailed explanation of how anchors are hosted and resolved .

