تغییرات جدید و قابل توجه در ARCore.
موارد جدید در ARCore نسخه 1.46.0
تغییرات در targetSdkVersion
ARCore SDK
targetSdkVersion
ARCore به سطح Android API 35 به روز شده است. اگر برنامه شما targetSdkVersion
مشخص نکرده باشد، به دلیل ادغام مانیفست ، targetSdkVersion
برنامه شما 35 خواهد شد.
برای Unity، تعیین سطح API هدف در پروژه Unity Settings > Player > Android > Other Settings، مقدار targetSdkVersion
ARCore را لغو می کند.
موارد جدید در ARCore نسخه 1.45.0
API حالت فلش
ARCore اکنون از فعال کردن حالت مشعل دستگاه پشتیبانی می کند که امکان درک بهتر در محیط های تاریک را فراهم می کند.
Android (Kotlin/Java)
-
Config.FlashMode
: گزینه پیکربندی برای فعال یا غیرفعال کردن واحد فلاش در دستگاه. - برای جزئیات بیشتر در مورد نحوه تشخیص قابلیت های فلاش و نحوه فعال کردن حالت مشعل، به راهنمای توسعه دهنده مراجعه کنید.
Android NDK (C)
-
ArFlashMode
: گزینه پیکربندی برای فعال یا غیرفعال کردن واحد فلاش در دستگاه. - برای جزئیات بیشتر در مورد نحوه تشخیص قابلیت های فلاش و نحوه فعال کردن حالت مشعل، به راهنمای توسعه دهنده مراجعه کنید.
ARCore Extensions for Unity AR Foundation از AR Foundation 5 پشتیبانی می کند
ARCore Extensions for AR Foundation اکنون رسماً از AR Foundation 5 پشتیبانی می کند. هنگام استفاده از AR Foundation 5 (نسخه تأیید شده در نسخههای Unity 2022 و 2023)، از روشهای نصب زیر برای به دست آوردن یک نسخه سازگار از برنامههای افزودنی ARCore برای بنیاد AR استفاده کنید:
- از طریق
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
API مکانها را در مهاجرت خالق مکانی قرار میدهد
ویژگی جستجوی خالق مکانی جغرافیایی اکنون از API مکانهای جدید Google استفاده میکند. برای استفاده از ویژگی جستجو، "Places API (جدید)" را در Google Cloud Console فعال کنید.
موارد جدید در ARCore نسخه 1.42.0
Snap to Tile در Geospatial Creator for Unity
یک دکمه "Snap to Tile" به پنل ARGeospatialCreatorAnchor
Editor Inspector اضافه شده است. این دکمه مقدار ارتفاع لنگر زمین یا پشت بام را که فقط ویرایشگر است، در بالای هندسه کاشی سه بعدی در عرض و طول جغرافیایی فعلی لنگر تنظیم می کند. توجه داشته باشید که این ویژگی روی رفتار در زمان اجرا تاثیری ندارد. این به تنظیم موقعیت لنگر در ویرایشگر برای مطابقت با موقعیت آن در زمان اجرا کمک می کند.
موارد جدید در ARCore نسخه 1.41.0
Geospatial Creator API
Geospatial Creator for Unity اکنون شامل پشتیبانی از ایجاد و دستکاری اشیاء Geospatial Creator در حالت ویرایشگر است. کلاسها و APIهای جدید در دسترس در راهنمای API خالق مکانی توضیح داده شدهاند.
پشتیبانی از نسخه 5.x Foundation AR (بتا)
ARCore Extensions for Unity's AR Foundation اکنون از نسخه 5.x بنیاد AR پشتیبانی می کند. برای انتقال یک پروژه موجود به بنیاد AR، به راهنمای مهاجرت مراجعه کنید.
موارد جدید در ARCore نسخه 1.40.0
Scene Semantics در iOS
Scene Semantics API اکنون در ARCore SDK برای iOS و همچنین در ARCore Extensions برای بنیاد AR Unity که پلتفرم iOS را هدف قرار می دهد در دسترس است. Scene Semantics API توسعه دهندگان را قادر می سازد تا صحنه اطراف کاربر را در زمان واقعی درک کنند و پیکسل ها را به 11 کلاس از اجزای بیرونی برچسب گذاری کنند. برای اطلاعات بیشتر به مقدمه معناشناسی صحنه مراجعه کنید.
iOS
یونیتی (بنیاد AR)
جستجوی نقاط مورد علاقه در Geospatial Creator for Unity
Geospatial Creator for Unity اکنون از جستجوی متنی برای قرار دادن نمای کاشی های سه بعدی عکاسی پشتیبانی می کند. برای اطلاعات بیشتر به جستجوی نقاط مورد علاقه در خالق فضایی جغرافیایی مراجعه کنید.
موارد جدید در ARCore نسخه 1.39.0
این نسخه هیچ ویژگی جدیدی ندارد.
موارد جدید در ARCore نسخه 1.38.0
این نسخه هیچ ویژگی جدیدی ندارد.
موارد جدید در ARCore نسخه 1.37.0
معناشناسی صحنه
Scene Semantics جزئیات غنی تری در مورد صحنه اطراف ارائه می دهد و درک دنیای اطراف کاربر را آسان تر می کند. Scene Semantics یک مدل ML را روی فید تصویر دوربین اجرا می کند و یک تصویر معنایی با هر پیکسل مربوط به یکی از 11 برچسب مفاهیم فضای باز ارائه می دهد.
برای اطلاعات بیشتر به معرفی Scene Semantics و برنامه نمونه semantics_java مراجعه کنید.
Android (Kotlin/Java)
Android NDK (C)
یونیتی (بنیاد AR)
iOS
هندسه منظره خیابانی
Streetscape Geometry یک API Geospatial ARCore جدید است که هندسه ساختمانها و زمین را در ناحیه اطراف کاربر با فعال کردن Geospatial API فراهم میکند.
Android (Kotlin/Java)
راهنمای توسعه هندسه Streetscape (Kotlin/Java) را ببینید. علاوه بر این، برنامه نمونه geospatial_java به روز شده است تا هندسه Streetscape را در بر بگیرد.
Android NDK (C)
برای اطلاعات بیشتر به راهنمای توسعه هندسه Streetscape (C) مراجعه کنید.
یونیتی (بنیاد AR)
برای اطلاعات بیشتر به راهنمای توسعه دهنده هندسه Streetscape (Unity) مراجعه کنید.
iOS
برای اطلاعات بیشتر به راهنمای توسعهدهنده Streetscape Geometry (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 بارگذاری شده در صحنه انجام می دهد.
لنگرهای پشت بام
لنگرهای پشت بام یک نوع لنگر زمینی جدید هستند که به شما کمک می کند محتوا را روی پشت بام لنگر بیاندازید.
Android (Kotlin/Java)
لنگرهای جغرافیایی (جاوا) را ببینید. علاوه بر این، برنامه نمونه geospatial_java به روز شده است تا لنگرهای پشت بام را در بر بگیرد.
Android NDK (C)
برای اطلاعات بیشتر به لنگرهای جغرافیایی (C) مراجعه کنید.
یونیتی (بنیاد AR)
برای اطلاعات بیشتر به لنگرهای جغرافیایی مراجعه کنید. علاوه بر این، نمونه Geospatial به روز شده است تا شامل لنگرهای پشت بام باشد.
-
ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync()
یک لنگر برای اشیاء بازی در صحنه شما در عرض جغرافیایی، طول جغرافیایی، ارتفاع بالای پشت بام و جهت مشخص شده فراهم می کند. -
ResolveAnchorOnRooftopPromise
-
ResolveAnchorOnRooftopResult
iOS
برای اطلاعات بیشتر به لنگرهای مکانی (iOS) مراجعه کنید. علاوه بر این، برنامه GeospatialExample به روز شده است تا لنگرهای پشت بام را در بر بگیرد.
-
GARSession.createAnchorWithCoordinate:altitudeAboveRooftop:eastUpSouthQAnchor:completionHandler:error:
یک لنگر پشت بام در مکان مشخص شده، ارتفاع بالای پشت بام بر حسب متر و جهت گیری نسبت به زمین ایجاد می کند. -
GARCreateAnchorOnRooftopFuture
حالت ناهمزمان حل یک لنگر پشت بام را نگه می دارد. -
GARRooftopAnchorState
وضعیت حل یک لنگر پشت بام را توصیف می کند.
عمق جغرافیایی
هنگامی که هر دو حالت Depth API و Streetscape Geometry در یک جلسه ARCore در مناطقی با پوشش VPS فعال می شوند، تصاویر عمق تولید شده با استفاده از Streetscape Geometry بهبود می یابند. Streetscape Geometry در هر تصویر با عمق ایجاد شده تا محدوده 65.535 متر ادغام شده است. هنگام تماس با Depth API برای مشاهده این مزیت نیازی به تغییر نیست.
Android (Kotlin/Java)
برای اطلاعات بیشتر به عمق مکانی (جاوا) مراجعه کنید.
Android NDK (C)
برای اطلاعات بیشتر به عمق مکانی (C) مراجعه کنید.
یونیتی (بنیاد AR)
برای اطلاعات بیشتر به عمق مکانی (C) مراجعه کنید.
iOS
Scene Semantics در حال حاضر برای iOS در دسترس نیست.
پشتیبانی از رندر Vulkan
ARCore اکنون با افشای تصویر دوربین از طریق AHardwareBuffer
از رندر Vulkan پشتیبانی میکند. شما می توانید این بافر سخت افزار را با اتصال آن به VkImage
استفاده کنید.
برای اطلاعات بیشتر به ارائه برنامه ARCore خود با استفاده از Vulkan و برنامه نمونه hello_ar_vulkan_c مراجعه کنید.
Android (Kotlin/Java)
Android NDK (C)
یونیتی (بنیاد AR)
رندر 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
لغو شود. این مشکل در نسخه بعدی حل خواهد شد.
یونیتی (بنیاد AR)
EIS در حال حاضر برای Unity با استفاده از AR Foundation در دسترس نیست.
iOS
EIS در حال حاضر برای iOS در دسترس نیست.
ARCore async API
این نسخه ARCore async APIهای جدیدی را برای بهبود ارگونومی هنگام کار با عملیات ناهمزمان، با پیروی از پارادایم Future و Promise معرفی می کند.
Android (Kotlin/Java)
- حل لنگرهای Terrain: از
Earth.resolveAnchorOnTerrainAsync()
برای بدست آوردنResolveAnchorOnTerrainFuture
استفاده کنید. نماد قدیمیEarth.resolveAnchorOnTerrain()
منسوخ شده است و ممکن است در نسخه بعدی ARCore حذف شود. - حل کردن لنگرهای Cloud: از
Session.resolveCloudAnchorAsync()
برای به دست آوردنResolveCloudAnchorFuture
استفاده کنید. نماد قدیمیSession.resolveCloudAnchor()
منسوخ شده است و ممکن است در نسخه بعدی ARCore حذف شود. - میزبانی لنگرهای Cloud: از
Session.hostCloudAnchorAsync()
برای به دست آوردنHostCloudAnchorFuture
استفاده کنید. نمادهای قدیمیSession.hostCloudAnchor()
وSession.hostCloudAnchorWithTtl()
منسوخ شده اند و ممکن است در نسخه بعدی ARCore حذف شوند. - بررسی در دسترس بودن APK: از
ArCoreApk.checkAvailabilityAsync()
برای ثبت پاسخ تماس استفاده کنید. نماد قدیمیArCoreApk.checkAvailability()
منسوخ نشده است.
Android NDK (C)
- حل لنگرهای Terrain: از
ArEarth_resolveAnchorOnTerrainAsync()
برای به دست آوردنArResolveAnchorOnTerrainFuture
استفاده کنید یا ازArResolveAnchorOnTerrainCallback
استفاده کنید. نماد قدیمیArEarth_resolveAndAcquireNewAnchorOnTerrain()
منسوخ شده است و ممکن است در نسخه بعدی ARCore حذف شود. - حل لنگرهای Cloud: از
ArSession_resolveCloudAnchorAsync()
برای به دست آوردنArResolveCloudAnchorFuture
یا استفاده ازArResolveCloudAnchorCallback
استفاده کنید. نماد قدیمیArSession_resolveAndAcquireNewCloudAnchor()
منسوخ شده است و ممکن است در نسخه بعدی ARCore حذف شود. - میزبانی لنگرهای Cloud: از
ArSession_hostCloudAnchorAsync()
برای به دست آوردنArHostCloudAnchorFuture
یا استفاده ازArHostCloudAnchorCallback
استفاده کنید. نمادهای قدیمیArSession_hostAndAcquireNewCloudAnchor()
وArSession_hostAndAcquireNewCloudAnchorWithTtl()
منسوخ شده اند و ممکن است در نسخه بعدی ARCore حذف شوند. - بررسی در دسترس بودن APK: از
ArCoreApk_checkAvailabilityAsync()
برای ثبت تماس پاسخ استفاده کنید. نماد قدیمیArCoreApk_checkAvailability()
منسوخ نشده است.
یونیتی (بنیاد AR)
- حل کردن لنگرهای Terrain: از
ARAnchorManagerExtensions.ResolveAnchorOnTerrainAsync()
برای به دست آوردنResolveAnchorOnTerrainPromise
استفاده کنید. نماد قدیمیARAnchorManagerExtensions.ResolveAnchorOnTerrain()
منسوخ شده است و ممکن است در نسخه بعدی ARCore حذف شود. - حل کردن لنگرهای Cloud: از
ARAnchorManagerExtensions.ResolveCloudAnchorAsync()
برای به دست آوردنResolveCloudAnchorPromise
استفاده کنید. نماد قدیمیARAnchorManagerExtensions.ResolveCloudAnchorId()
منسوخ شده است و ممکن است در نسخه بعدی ARCore حذف شود. - میزبانی لنگرهای Cloud: از
ARAnchorManagerExtensions.HostCloudAnchorAsync()
برای به دست آوردنHostCloudAnchorPromise
استفاده کنید. نمادهای قدیمیARAnchorManagerExtensions.HostCloudAnchor()
منسوخ شده اند و ممکن است در نسخه بعدی ARCore حذف شوند.
iOS
- حل لنگرهای Terrain: از
GARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:completionHandler:error:
برای به دست آوردنGARCreateAnchorOnTerrainFuture
استفاده کنید. نماد قدیمیGARSession.createAnchorWithCoordinate:altitudeAboveTerrain:eastUpSouthQAnchor:error:
منسوخ شده است و ممکن است در نسخه بعدی ARCore حذف شود. - حل لنگرهای Cloud: از
GARSession.resolveCloudAnchorWithIdentifier:completionHandler:error:
برای به دست آوردنGARResolveCloudAnchorFuture
استفاده کنید. نماد قدیمیGARSession.resolveCloudAnchorWithIdentifier:error:
منسوخ شده است و ممکن است در نسخه بعدی ARCore حذف شود. - میزبانی لنگرهای Cloud: از
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 ، به فعال کردن AR در برنامه iOS خود مراجعه کنید.
موارد جدید در ARCore نسخه 1.35.0
دقت ژئوفضایی هدینگ را با انحراف جایگزین میکند
اکنون همه موقعیتهای جغرافیایی دقت جهتگیری چرخش انحراف را نشان میدهند، که جایگزین دقت عنوان میشود.
- 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 برای اندروید
- یادداشت های انتشار ARCore برای Android NDK
- یادداشتهای انتشار ARCore SDK برای iOS
- یادداشتهای انتشار برنامههای افزودنی ARCore برای بنیاد AR
موارد جدید در ARCore نسخه 1.34.0
بررسی کنید که آیا قابلیت های Geospatial در مکان فعلی دستگاه موجود است یا خیر
Geospatial API اکنون می تواند در دسترس بودن سیستم موقعیت یابی بصری (VPS) را در یک موقعیت افقی مشخص در زمان اجرا بررسی کند. این API را می توان بدون یک جلسه AR فعال استفاده کرد: به عنوان مثال، برای ارائه دکمه "Enter AR" فقط زمانی که VPS در دسترس است.
- Java/Kotlin:
Session.checkVpsAvailabilityAsync()
- ج:
ArSession_checkVpsAvailabilityAsync()
- iOS:
GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
- Unity (AR Foundation):
AREarthManager.CheckVpsAvailability()
جهت گیری موقعیت جغرافیایی
ژست های جغرافیایی اکنون جهت گیری خود را در فضای سه بعدی نشان می دهند.
- Java/Kotlin:
feedbackGeospatialPose.getEastUpSouthQuaternion()
- ج:
ArEarth_getGeospatialPose()
- iOS:
GARGeospatialTransform.eastUpSouthQTarget
- Unity:
GeospatialPose.EunRotation()
تبدیل موقعیت جغرافیایی
اکنون می توان موقعیت های جغرافیایی را به موقعیت های فضای جهان (AR) تبدیل کرد.
برای دریافت ژست فضایی از یک ژست AR:
- Java/Kotlin:
Earth.getGeospatialPose()
- ج:
ArEarth_getGeospatialPose()
- iOS:
GARSession.geospatialTransformFromTransform:error:
- Unity:
AREarthManager.Convert(Pose)
برای دریافت ژست AR از یک ژست فضایی:
- Java/Kotlin:
Earth.getPose()
- ج:
ArEarth_getPose()
- iOS:
GARSession.transformFromGeospatialCoordinate:altitude:eastUpSouthQTarget:error:
- Unity:
AREarthManager.Convert(GeospatialPose)
موقعیتهای جغرافیایی بهدستآمده از این توابع دارای مقدار سرفصل صفر هستند. در عوض از موارد زیر استفاده کنید:
- Android (Java/Kotlin/C): ربع EUS پوز
- iOS: pose's
eastUpSouthQTarget
- وحدت:
EunRotation
پوز
تغییرات و به روز رسانی های اضافی
برای سایر تغییرات، رفع اشکالها و بهبود عملکرد، یادداشتهای انتشار را مشاهده کنید:
- یادداشتهای انتشار ARCore SDK برای اندروید
- یادداشت های انتشار ARCore برای Android NDK
- یادداشتهای انتشار ARCore SDK برای iOS
- یادداشتهای انتشار برنامههای افزودنی ARCore برای بنیاد AR
موارد جدید در ARCore نسخه 1.33.0
نقطه پایانی جدید Cloud Anchors
- برای استفاده از Cloud Anchor، اکنون باید ARCore API را به جای ARCore Cloud Anchor قدیمیتر فعال کنید، که اکنون منسوخ شده است. برای پشتیبانی از نسخههای قدیمیتر برنامه، میتوانید هر دو را در حین انتقال فعال کنید. برنامههای ساخته شده با 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 API، باید نام دامنه را نیز به
arcore.googleapis.com
تغییر دهید. - API/endpoint قدیمی تا آگوست 2023 پشتیبانی خواهد شد.
- برای جزئیات بیشتر به تغییرات نقطه پایانی Cloud Anchor ARCore 1.33 مراجعه کنید.
- API جدید از نام دامنه
لنگرهای زمین
- Geospatial Terrain Anchor API یک لنگر در موقعیت افقی و ارتفاع مشخص نسبت به زمین موقعیت افقی ایجاد می کند.
تغییرات و به روز رسانی های اضافی
برای سایر تغییرات، رفع اشکالها و بهبود عملکرد، یادداشتهای انتشار را مشاهده کنید:
- یادداشتهای انتشار ARCore SDK برای اندروید
- یادداشت های انتشار ARCore برای Android NDK
- یادداشتهای انتشار ARCore SDK برای iOS
- یادداشتهای انتشار برنامههای افزودنی ARCore برای بنیاد AR
موارد جدید در ARCore نسخه 1.32.0
این نسخه هیچ ویژگی جدیدی ندارد.
اندروید و یونیتی (AR Foundation) برای اندروید
-
targetSdkVersion
ARCore به سطح Android API 32 به روز شده است. اگر برنامه شماtargetSdkVersion
مشخص نکرده باشد، به دلیل ادغام مانیفست ،targetSdkVersion
برنامه شما 32 خواهد شد.- Android SDK: تعیین
targetSdkVersion
درbuild.gradle
یاAndroidManifest.xml
پروژه شما، مقدارtargetSdkVersion
ARCore را لغو می کند. - AR Foundation برای Android: تعیین سطح API هدف در پروژه Unity Settings > Player > Android > Other Settings، مقدار
targetSdkVersion
ARCore را لغو میکند.
- Android SDK: تعیین
تغییرات و به روز رسانی های اضافی
برای سایر تغییرات، رفع اشکالها و بهبود عملکرد، یادداشتهای انتشار را مشاهده کنید:
- یادداشتهای انتشار ARCore SDK برای اندروید
- یادداشت های انتشار ARCore برای Android NDK
- یادداشتهای انتشار ARCore SDK برای iOS
- یادداشتهای انتشار برنامههای افزودنی ARCore برای بنیاد AR
موارد جدید در ARCore نسخه 1.31.0
ARCore Geospatial API
ARCore Geospatial API جدید از دادههای مدلهای سهبعدی Google Earth و دادههای تصویر نمای خیابان از Google Maps استفاده میکند تا برنامه شما را برای تجربههای واقعیت افزوده مبتنی بر مکان و همهجانبه در مقیاس جهانی فعال کند.
مقدمه ARCore Geospatial API را برای مستندات توسعهدهنده پلتفرم خاص و برای شروع با Geospatial API جدید ببینید.
عمق برد بلند
ARCore Depth API اکنون بهینه شده است تا شامل سنجش عمق با برد بلندتر باشد و دامنه مشاهدات عمق قابل نمایش را افزایش دهد. تمام 16 بیت تصویر عمق استفاده می شود که حداکثر برد 65535 میلی متر را ارائه می دهد. قبلا فقط 13 بیت با محدودیت 8191 میلی متر پر شده بود.
برای اسناد توسعهدهنده پلتفرم خاص، و برای درک تغییرات در Depth API، به Changes to Depth مراجعه کنید.
یادداشت های مخصوص پلتفرم
اندروید
API های جدید ARCore Geospatial
جاوا
-
Earth
توانایی محلی سازی را در مختصات مربوط به زمین فراهم می کند.-
Earth.createAnchor()
یکAnchor
جدید در مکان و جهت مشخص شده نسبت به زمین ایجاد می کند.
-
-
Earth.Earthstate
وضعیت فعلیEarth
از جملهTrackingState
را توصیف می کند. -
GeospatialPose
یک مکان خاص، ارتفاع و قطب نما را نسبت به زمین توصیف می کند.
-
سی
-
ArEarth
توانایی محلی سازی را در مختصات مربوط به زمین فراهم می کند.-
ArEarth_acquireNewAnchor()
یکAnchor
جدید در مکان و جهت مشخص شده نسبت به زمین ایجاد می کند. -
ArEarthState
وضعیت فعلیArEarth
، از جملهArTrackingState
آن را توصیف می کند.
-
-
ArGeospatialPose
یک مکان خاص، ارتفاع و قطب نما را نسبت به زمین توصیف می کند.
-
به روز رسانی ARCore Depth API
جاوا
- فراخوانی تابع Depth API تغییر کرده است:
-
Frame.acquireDepthImage
بهFrame.acquireDepthImage16Bits
. -
Frame.acquireRawDepthImage
بهFrame.acquireRawDepthImage16Bits
. - قالبهای تصویر خروجی برای هر دو تماس از
android.graphics.ImageFormat#DEPTH16
بهandroid.hardware.HardwareBuffer#D_16
تغییر کرده است. - عمق هنوز به عنوان یک عدد صحیح 16 بیتی در واحدهای میلی متر نشان داده می شود، اما اکنون تمام 16 بیت برای نشان دادن عمق استفاده می شود، که اجازه می دهد حداکثر محدوده قابل بیان از 8191 میلی متر به 65535 میلی متر برسد.
-
- تابع 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
تغییر کرده است. - عمق هنوز به عنوان یک عدد صحیح 16 بیتی در واحدهای میلی متر نشان داده می شود، اما اکنون تمام 16 بیت برای نشان دادن عمق استفاده می شود، که اجازه می دهد حداکثر محدوده قابل بیان از 8191 میلی متر به 65535 میلی متر برسد.
-
- تابع Depth API
ArFrame_acquireDepthImage
فراخوانی می کند وArFrame_acquireRawDepthImage
منسوخ شده است. لطفاً به جای آن ازArFrame_acquireDepthImage16Bits
وArFrame_acquireRawDepthImage16Bits
استفاده کنید.
- فراخوانی تابع Depth API تغییر کرده است:
یونیتی (بنیاد AR)
API های جدید ARCore Geospatial:
-
AREarthManager
توانایی محلی سازی را در مختصات مربوط به زمین فراهم می کند.-
EarthTrackingState
وضعیت ردیابی زمین را برای آخرین فریم دریافت می کند. -
EarthState
شرایط خطای زمین را حفظ می کند.
-
-
GeospatialPose
یک مکان خاص، ارتفاع و قطب نما را نسبت به زمین توصیف می کند. -
ARGeospatialAnchor
یک لنگر برای اشیاء بازی در صحنه شما فراهم می کند که در یک مکان و جهت نسبت به زمین مشخص شده است.
iOS
API های جدید ARCore Geospatial:
-
GAREarth
محلی سازی نسبی زمین را فراهم می کند.-
GAREarthState.earthState
حالت ها و شرایط خطا را مدیریت می کند. -
GAREarthState.trackingState
وضعیت ردیابی مورد نیاز برای داده های مکانی را حفظ می کند.
-
-
GARGeospatialTransform
نمایشی از یک تبدیل جهانی شامل مکان، عنوان، ارتفاع، و برآورد دقت. -
GARSession.createAnchorWithCoordinate:altitude:eastUpSouthQAnchor:error:
یک لنگر Geospatial در مکان و جهت مشخص شده نسبت به زمین ایجاد می کند.
تغییرات دیگر
برای سایر تغییرات، رفع اشکالها و بهبود عملکرد، یادداشتهای انتشار را مشاهده کنید:
- یادداشتهای انتشار ARCore SDK برای اندروید
- یادداشت های انتشار ARCore برای Android NDK
- یادداشتهای انتشار ARCore SDK برای iOS
- یادداشتهای انتشار برنامههای افزودنی ARCore برای بنیاد AR
موارد جدید در ARCore نسخه 1.30.0
این نسخه هیچ ویژگی جدیدی ندارد.
اندروید
- API مشروحشده مقادیر را با
@NonNull
و@Nullable
برمیگرداند. - نسخههای ابزار ساخت مورد استفاده برای نمونههای ساختمانی بهروزرسانی شد: Gradle به 7.0.2 و افزونه Android Gradle به 7.0.4. ارتقاء این ابزارها برای برنامه های کاربردی ARCore موجود لازم نیست . برای ویژگیهای جدید، مشکلات شناخته شده، اطلاعات ناسازگاری، به مستندات Android در افزونه Android Gradle مراجعه کنید.
یونیتی (بنیاد AR)
یک نسخه جدید
arcore-unity-extensions-without-edm4u.tgz
اضافه شد. این نوع انتشار، وابستگی های خارجی مانند External Dependency Manager برای Unity را جمع نمی کند و امکان ارتقا به EDM را فراهم می کند. استفاده از این نسخه Lite ممکن است ناسازگاریها را هنگام استفاده از کتابخانههای Firebase برطرف کند. برای شروع به دستورالعمل های نصب ARCore Extensions for AR Foundation مراجعه کنید.ExternalDependencyManager را به نسخه 1.2.168 ارتقا داد تا از نسخه 2021.2 و بالاتر پشتیبانی کند، جزئیات را در گزارش تغییرات EDM ببینید.
مشکل رفع شد که در آن جلسه ARCore هر فریم را پیکربندی میکند، حتی هیچ تغییری در پیکربندی جلسه که باعث افت FPS میشود، وجود ندارد.
iOS
- رفع اشکال مختلف و بهبود عملکرد.
موارد جدید در ARCore نسخه 1.29.0
این نسخه هیچ ویژگی جدیدی ندارد.
اندروید
- hello_ar_java و hello_ar_kotlin : هنگامی که یک شی با استفاده از
SCREENSPACE_WITH_APPROXIMATE_DISTANCE
قرار می گیرد، رنگ آن را تغییر می دهد تا اشیایی که با استفاده از Instant Placement قرار گرفته اند را تشخیص دهند. - persistent_cloud_anchor_java : یک وابستگی ساخت گمشده به نمونه اضافه شد. اشکالی را برطرف میکند که در آن میزبانی هر لنگر دارای وضعیت
CloudAnchorState ERROR_NOT_AUTHORIZED
است، حتی اگر پروژه به درستی تنظیم شده باشد.
یونیتی (بنیاد AR)
- بسته ARCore Extensions اکنون به ARKit XR Plugin بستگی دارد تا اطمینان حاصل شود که نسخه AR Foundation نصب شده با نسخه ARKit XR Plugin سازگار است. این یک خطای کامپایل را هنگام نصب برنامههای افزودنی ARCore در Unity 2019.x و فعال کردن افزونه ARKit XR برطرف میکند.
- تنظیمات پروژه ARCore Extensions از تنظیمات پروژه > XR > برنامه های افزودنی ARCore به تنظیمات پروژه > مدیریت افزونه XR > برنامه های افزودنی ARCore منتقل شده است.
-
ARCoreExtensionsConfig
،ARCoreExtensionsCameraConfigFilter
،ARCoreRecordingConfig
از Create > XR > ARCore Extensions به Create > منوی XR منتقل شده اند.
iOS
- رفع اشکال مختلف و بهبود عملکرد.
یادداشت های انتشار کامل
- یادداشتهای انتشار کامل ARCore SDK برای Android
- یادداشتهای انتشار کامل ARCore برای Android NDK
- یادداشتهای انتشار کامل ARCore SDK برای iOS
- یادداشتهای انتشار برنامههای افزودنی ARCore برای بنیاد AR
موارد جدید در ARCore نسخه 1.28.0
- از نوامبر 2022 ، برنامههای دارای AR دیگر نمیتوانند تصاویر NDK یا فراداده تصویر را دریافت کنند . نسخههای SDK تحت تأثیر به تابع خاصی که فراخوانی میشود بستگی دارد، برای کسب اطلاعات بیشتر به اطلاعیه منسوخ شدن مراجعه کنید.
- C : تماسهای
ArImage_getNdkImage()
وArImage_getNdkCameraMetadata()
همیشهnullptr
برای اشیاءAImage
وACameraMetadata
برمیگرداند. - جاوا : شیء
Image
که توسطFrame#acquireCameraImage()
برگردانده می شود اندازه0
×0
پیکسل خواهد بود. فراخوانی به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
×0
پیکسل خواهد بود. فراخوانیFrame.CameraMetadata.GetAllCameraMetadataTags()
یکList<CameraMetadataTag>
برمی گرداند.
- C : تماسهای
- جاوا :
ArImage#getCropRect()
اکنون یک مستطیل برش با اندازه کامل را برمی گرداند، یعنی تمام پیکسل های تصویر معتبر هستند. برای اطلاعات بیشتر بهandroid.media.Image#getCropRect()
مراجعه کنید.
موارد جدید در ARCore نسخه 1.27.0
این نسخه هیچ ویژگی جدیدی ندارد. برای رفع اشکالهای مختلف و بهبود عملکرد، یادداشتهای انتشار زیر را ببینید.
- یادداشتهای انتشار کامل ARCore SDK برای Android
- یادداشتهای انتشار کامل ARCore برای Android NDK
- یادداشتهای انتشار کامل ARCore SDK برای iOS
- یادداشتهای انتشار برنامههای افزودنی ARCore برای بنیاد AR
علاوه بر رفع اشکالات مختلف، این نسخه شامل موارد زیر نیز بود.
نمونه برنامه ها در Kotlin
hello_ar_kotlin را برای نشان دادن بهترین شیوه ها هنگام استفاده از Kotlin اضافه کرد.
برای اطلاعات بیشتر به QuickStart برای Android مراجعه کنید.
ml_kotlin اضافه شد تا نشان دهد چگونه یک مدل طبقه بندی تصویر را می توان با ARCore استفاده کرد.
برای اطلاعات بیشتر به استفاده از ARCore به عنوان ورودی برای مدلهای یادگیری ماشین مراجعه کنید.
موارد جدید در ARCore نسخه 1.26.0
این نسخه تغییرات قابل توجه زیر را اضافه می کند:
- URI ها اکنون برای مجموعه داده ها در ضبط و پخش پشتیبانی می شوند.
تغییرات و به روز رسانی های اضافی
برای رفع اشکال اضافی و سایر تغییرات شکستن، یادداشت های انتشار زیر را ببینید.
- یادداشتهای انتشار کامل ARCore SDK برای Android
- یادداشتهای انتشار کامل ARCore برای Android NDK
- یادداشتهای انتشار کامل ARCore SDK برای iOS
- یادداشتهای انتشار برنامههای افزودنی ARCore برای بنیاد AR
موارد جدید در ARCore نسخه 1.25.0
این نسخه هیچ ویژگی جدیدی ندارد. برای رفع اشکالهای مختلف و بهبود عملکرد، یادداشتهای انتشار زیر را ببینید.
- یادداشتهای انتشار کامل ARCore SDK برای Android
- یادداشتهای انتشار کامل ARCore برای Android NDK
- یادداشتهای انتشار کامل ARCore SDK برای iOS
- یادداشتهای انتشار کامل ARCore SDK for Unity
- یادداشتهای انتشار برنامههای افزودنی ARCore برای بنیاد AR
موارد جدید در ARCore نسخه 1.24.0
این نسخه تغییرات قابل توجه زیر را اضافه می کند:
- یک Raw Depth API جدید که تصویری با عمق را بدون فیلتر فضای تصویر ارائه میکند
- قابلیت ضبط آهنگ سفارشی داده در Recording & Playback API
- توانایی انجام تست های ضربه عمقی
عمق خام
Raw Depth API داده های عمقی را برای یک تصویر دوربین ارائه می دهد که دقت بالاتری نسبت به داده های API عمق کامل دارد، اما همیشه همه پیکسل ها را پوشش نمی دهد. تصاویر عمق خام، همراه با تصاویر اطمینان منطبق با آنها، میتوانند بیشتر پردازش شوند و به برنامهها اجازه میدهد فقط از دادههای عمقی استفاده کنند که دقت کافی برای موارد استفاده فردی آنها را دارد.
راهنمای توسعه دهندگان:
ضبط آهنگ سفارشی
قابلیت جدید ردیابی داده سفارشی در Recording & Playback API به شما این امکان را می دهد که داده های سفارشی را در حین ضبط به یک فریم ARCore اضافه کنید و همان داده ها را در حین پخش از فریم بازیابی کنید.
راهنمای توسعه دهندگان:
تست های ضربه عمقی
پیش از این، آزمایشهای ضربهگیری فقط روی هواپیماهای شناسایی شده انجام میشد و مکانها را به سطوح بزرگ و مسطح محدود میکرد. تستهای ضربه عمقی از اطلاعات عمق صاف و خام برای ارائه نتایج دقیقتر، حتی در سطوح غیرمسطح و با بافت کم بهره میبرند.
راهنمای توسعه دهندگان:
تغییرات و به روز رسانی های اضافی
برای رفع اشکال اضافی و سایر تغییرات شکستن، یادداشت های انتشار زیر را ببینید.
- یادداشتهای انتشار کامل ARCore SDK برای Android
- یادداشت های انتشار کامل ARCore برای Android NDK
- یادداشتهای انتشار کامل ARCore SDK برای iOS
- یادداشتهای انتشار کامل ARCore SDK for Unity
- یادداشتهای انتشار برنامههای افزودنی ARCore برای بنیاد AR
موارد جدید در ARCore نسخه 1.23.0
در انتظار پشتیبانی از دوربین دوگانه
پشتیبانی از دوربین دوگانه در هفته های آینده عرضه می شود. برای اطلاعات بیشتر به صفحه دستگاه های پشتیبانی شده مراجعه کنید.
ابزارهای جدید اشکال زدایی
با ارسال یک هدف پخش، توسعه دهندگان می توانند فعال کنند:
ثبت تماس ARCore API به گزارش اشکال زدایی اندروید
پوشش عملکرد ARCore
میزبانی و حل و فصل Cloud Anchors
برنامههای دارای واقعیت افزوده که با استفاده از ARCore SDK 1.11.0 یا نسخههای قبلی ساخته شدهاند، دیگر قادر به میزبانی یا حل و فصل Cloud Anchors نیستند.
ج: لنگرهای ابری که توسط
ArSession_hostAndAcquireNewCloudAnchor
وArSession_resolveAndAcquireNewCloudAnchor
بازگردانده میشوند همیشه دارای حالتAR_CLOUD_ANCHOR_STATE_ERROR_INTERNAL
خواهند بود.جاوا: Cloud Anchor که توسط
Session.hostCloudAnchor(Anchor)
وSession.resolveCloudAnchor(String)
برگردانده می شود همیشه دارای وضعیتAnchor.CloudAnchorState.ERROR_INTERNAL
هستند.وحدت: لنگرهای ابری که توسط
XPSession.CreateCloudAnchor(Anchor)
وXPSession.ResolveCloudAnchor(string)
بازگردانده شده است ، همیشه دارایCloudServiceResponse.ErrorInternal
است.
برنامه های ساخته شده با Arcore SDK 1.12.0 یا بعد از آن بی تأثیر هستند. استفاده از آنها از ARCORE Cloud Anchor API تحت پوشش سیاست استهلاک است.
تغییرات و به روزرسانی های اضافی
برای رفع اشکال اضافی و سایر تغییرات شکستن ، یادداشت های انتشار زیر را مشاهده کنید.
چه جدید در Arcore v1.22.0
این نسخه API های ضبط و پخش جدید و API های فیلتر پیکربندی دوربین را برای پسوند Arcore برای بنیاد AR اضافه می کند. برای جزئیات بیشتر به یادداشت های انتشار کامل Arcore مراجعه کنید.
تغییرات و به روزرسانی های اضافی
برای رفع اشکال اضافی و سایر تغییرات شکستن ، یادداشت های انتشار زیر را مشاهده کنید.
چه جدید در Arcore v1.21.0
این نسخه API های ضبط و پخش جدید را برای Android ، Android NDK و Unity اضافه می کند.
ضبط و پخش
با استفاده از API های ضبط و پخش ، می توانید داده های ویدئویی و AR را یک بار در یک محیط معین ضبط کرده و از آن محتوا برای جایگزینی یک جلسه دوربین زنده برای اهداف آزمایش استفاده کنید. Arcore جلسات ضبط شده را در پرونده های MP4 ذخیره می کند که حاوی چندین آهنگ ویدیویی و سایر داده های متفرقه در دستگاه هستند. سپس می توانید برنامه خود را برای استفاده از این داده ها به جای یک جلسه دوربین زنده نشان دهید. این به شما امکان می دهد تا آن محتوا را به طور نامحدود دوباره پخش کنید تا جلوه های مختلف AR را بدون نیاز به بازگشت به میدان امتحان کنید.
برای جزئیات بیشتر:
جاوا:
ج:
وحدت:
چه جدید در Arcore v1.20.0
این نسخه تغییرات قابل توجه زیر را اضافه می کند:
پشتیبانی جدید برای لنگرهای ابری مداوم .
قابلیت های ابرداده تصویر به روز شده برای Android و Android NDK.
راهنمایی های جدید که نیاز به Gradle نسخه 5.6.4 یا بعد از آن ، برای پشتیبانی از پسوندهای Arcore برای بنیاد AR یا Arcore SDK برای وحدت (1.19 یا بالاتر) با Unity 2018.4 یا بعد از آن دارد.
پشتیبانی جدید برای لنگرگاه های ابری مداوم
قبل از Arcore V1.20 ، لنگرگاه های ابر فقط تا 24 ساعت پس از اولین میزبانی می توانند برطرف شوند. با لنگرهای ابری مداوم ، اکنون می توانید یک لنگر ابری با زمان زندگی (TTL) بین یک تا 365 روز ایجاد کنید. همچنین می توانید بعد از اینکه قبلاً با استفاده از API مدیریت لنگر ابری میزبانی شده است ، طول عمر لنگر را گسترش دهید.
استفاده از لنگرهای ابری مداوم تحت پوشش خط مشی استهلاک لنگرگاه های ابر جدید قرار دارد.
ج: راهنمای توسعه دهنده ،
ArSession_hostAndAcquireNewCloudAnchorWithTtl
وArSession_estimateFeatureMapQualityForHosting
.جاوا: راهنمای توسعه دهنده ،
hostCloudAnchorWithTtl
وestimateFeatureMapQualityForHosting
featuremapQualityForHosting.iOS: راهنمای توسعه دهنده ،
hostCloudAnchor:TTLDays:error:
وestimateFeatureMapQualityForHosting:
.برنامه های افزودنی Arcore برای بنیاد AR: راهنمای توسعه دهنده Android ، راهنمای توسعه دهنده iOS ،
ARAnchorManager.HostCloudAnchor(ARAnchor, int)
،ARAnchorManager.SetAuthToken(string)
وARAnchorManager.EstimateFeatureMapQualityForHosting(Pose)
.Unity Targeting Android: راهنمای توسعه دهنده ،
XPSession.CreateCloudAnchor(Anchor, int)
وXPSession.EstimateFeatureMapQualityForHosting(Pose)
.Unity Targeting IOS: راهنمای توسعه دهنده ،
XPSession.SetAuthToken(string)
وXPSession.CreateCloudAnchor(UnityARUserAnchorComponent, int)
.
تغییرات و به روزرسانی های اضافی
برای رفع اشکال اضافی و سایر تغییرات شکستن ، یادداشت های انتشار زیر را مشاهده کنید.
چه جدید در Arcore v1.19.0
این نسخه تغییرات قابل توجه زیر را اضافه می کند:
- API جدید قرار دادن فوری برای Android ، Android NDK و Unity .
- راهنمایی های جدید برای ساخت اندروید 11 با وحدت.
قرار دادن فوری
API قرار دادن فوری به کاربر اجازه می دهد تا یک شیء AR را روی صفحه قرار دهد بدون اینکه منتظر بماند تا Arcore برای تشخیص هندسه سطح باشد. با حرکت بیشتر کاربر در اطراف محیط ، قرار دادن شیء در زمان واقعی تصفیه می شود. هنگامی که Arcore موقعیت صحیح را در منطقه ای که شیء AR در آن قرار دارد تشخیص دهد ، شیء سفید به طور خودکار به روز می شود تا به طور دقیق و دقیق باشد و مات شود.
کلیپ زیر یک شکل اندرویدی مجازی را در یک جدول در دنیای واقعی نشان می دهد. شکل سفید و در هنگام قرار دادن بسیار کوچکتر است. بعد از اینکه Arcore محاسبات خود را از ابعاد صحنه اصلاح می کند ، شکل به موقعیتی دقیق تر می رسد. این ممکن است منجر به تفاوت در "اندازه" درک شده جسم شود.
برای جزئیات بیشتر:
اندروید:
Android NDK:
وحدت:
چه جدید در Arcore v1.18.0
این نسخه تغییرات قابل توجه زیر را اضافه می کند:
- API عمق جدید برای Android ، Android NDK و وحدت .
- راهنمایی های جدید برای ایجاد دارایی های افزوده و واردات آنها به استودیوی اندرویدی.
- API عمق در
4.1.0-preview.2
برای هر دوAR Foundation
وARCore XR Plugin
پشتیبانی می شود.
API عمق
در دستگاه های پشتیبانی شده از عمق ، API عمق از دوربین RGB دستگاه پشتیبانی شده توسط Arcore یا سنسور عمق فعال در صورت وجود استفاده می کند تا نقشه های عمق ایجاد کند. سپس می توانید از عمق هر پیکسل ارائه شده توسط یک نقشه عمق استفاده کنید تا اشیاء مجازی به طور دقیق در مقابل یا پشت اشیاء دنیای واقعی ظاهر شوند و تجربیات کاربر همهجانبه و واقع بینانه را امکان پذیر می کنند.
به عنوان مثال ، تصاویر زیر یک شکل اندرویدی مجازی را در یک فضای واقعی حاوی یک صندوق عقب در کنار درب نشان می دهد. عمق API به درستی شکل پشت لبه تنه را مسدود می کند.
برای جزئیات بیشتر:
اندروید:
Android NDK:
وحدت:
چه جدید در Arcore v1.17.0
قابل توجه در Arcore SDK برای Android
روشهای جدیدی اضافه شده است که امکان ایجاد چندین فریم دوربین را فراهم می کند. همراه با تکنیک های دیگر مانند ارائه چند رشته ای ، این می تواند برای کاهش تنوع در نرخ فریم استفاده شود.
اضافه شده استفاده از سنسور عمق گمشده و گیرنده های FPS هدف :
همچنین به Android SDK برای یادداشت های انتشار کامل Android مراجعه کنید.
قابل توجه در Arcore SDK برای وحدت
- پشتیبانی اضافه شده برای ارائه چند رشته ای در نسخه وحدت 2018.2 یا بعد از آن ، که در بیشتر موارد عملکرد را بهبود می بخشد و می تواند به کاهش تنوع در نرخ فریم کمک کند. این یک تنظیم پروژه وحدت است که در تنظیمات پروژه > پخش کننده > Android > سایر تنظیمات > ارائه چند رشته ای واقع شده است. برای جزئیات بیشتر به راهنمای توسعه دهنده مراجعه کنید.
- اضافه شده
SessionStatus.ErrorCameraNotAvailable
وSessionStatus.ErrorIllegalState
برای نشان دادن حالت های خطای جلسه خاص Arcore.
همچنین به یادداشت های انتشار کامل Arcore SDK برای وحدت مراجعه کنید.
قابل توجه در Arcore SDK برای iOS
اندازه باینری لنگرهای ابر SDK به طور قابل توجهی کاهش یافته است.
اکنون Bitcode برای چهره های افزوده پشتیبانی می شود.
همچنین به یادداشت های انتشار کامل IOS ، Arcore SDK را ببینید.
چه جدید در Arcore v1.16.0
قابل توجه در Arcore SDK برای Android و Sceneform SDK برای Android
این نسخه تغییرات قابل توجه زیر را اضافه می کند:
- اکثر دستگاه ها اکنون تنظیمات دوربین پشتیبانی شده اضافی را با وضوح بافت GPU پایین تر از وضوح پیش فرض بافت GPU دستگاه باز می گردانند. برای جزئیات بیشتر به دستگاه های پشتیبانی شده Arcore مراجعه کنید. این قطعنامه های GPU گسترش یافته از طریق API
getSupportedCameraConfigs(CameraConfigFilter)
در دسترس هستند.
همچنین ببینید:
قابل توجه در پسوندهای Arcore برای بنیاد AR
این نسخه تغییرات قابل توجه زیر را اضافه می کند:
XRCameraConfiguration
بنیاد AR با روشهایی گسترش یافته است که به شما امکان می دهد پیکربندی دوربین مناسب را بر اساس معیارهای مورد نظر خود انتخاب کنید. این روشها شامل GetTextureDimensions () ، GetFPSrange () و GetDeptSensorUsages () است. دستورالعمل های دقیق را بخوانید.Unity 2019.3.0F6 اکنون حداقل نسخه توصیه شده برای پسوندهای Arcore است. بنیاد AR 3.1.0-PREVIEW.6 به نسخه وحدت 2019.3 یا بالاتر نیاز دارد.
وحدت اکنون از اصطلاحات لنگر ، لنگر ابری و شناسه لنگرگاه ابر در API متقابل خود استفاده می کند. اسناد مربوط به پسوندهای Arcore به روز شده است تا این موضوع را منعکس کند.
همچنین ببینید:
قابل توجه در Arcore SDK برای وحدت
این نسخه تغییر قابل توجه زیر را اضافه می کند:
- اکثر دستگاه ها اکنون تنظیمات دوربین پشتیبانی شده اضافی را با وضوح بافت GPU پایین تر از وضوح پیش فرض بافت GPU دستگاه باز می گردانند. (برای جزئیات بیشتر به دستگاه های پشتیبانی شده Arcore مراجعه کنید.) این قطعنامه های GPU گسترش یافته از طریق ARCORECAMERACONFIGFILTER API در دسترس هستند.
همچنین ببینید:
Arcore SDK برای وحدت یادداشت های انتشار کامل
آنچه در Arcore v1.15.0 جدید است
قابل توجه در پسوندهای Arcore برای بنیاد AR
این نسخه تغییرات قابل توجه زیر را اضافه می کند.
نمونه Cloudanchors اضافه شده نشان می دهد که چگونه می توان تجربیات مشترک AR را برای Android و iOS ایجاد کرد. دستورالعمل های Android یا iOS را ببینید.
Unity 2019.2.17F1 اکنون حداقل نسخه توصیه شده برای استفاده با برنامه های arcore است.
Extensions Arcore یادداشت های انتشار کامل
قابل توجه در Arcore SDK برای وحدت
این نسخه دارای موضوعات شناخته شده زیر است.
پیش نمایش فوری ممکن است هنگام استفاده از Android 9 و یک کابل USB 3 ، وحدت را منجمد کند. برای اصلاح ، به روزرسانی در Android 10 یا استفاده از کابل USB 2.
پیش نمایش فوری ممکن است در هنگام وضوح نمایش بازی Unity خیلی زیاد در دستگاه نمایش ندهد. برای اصلاح ، وضوح دید بازی Unity پایین تر در ویرایشگر.
Arcore SDK برای وحدت یادداشت های انتشار کامل
تغییرات اضافی
برای رفع اشکال اضافی و سایر تغییرات شکستن ، یادداشت های انتشار زیر را مشاهده کنید.
چه جدید در Arcore v1.14.0
این نسخه تغییرات قابل توجه زیر را اضافه می کند.
هنگامی که یک برنامه به طور موقت دوربین را به برنامه دیگری در دستگاه از دست می دهد ، دلیل ردیابی خرابی اکنون خاص تر است:
Android:
TrackingFailureReason
به جایNONE
ازCAMERA_UNAVAILABLE
است.Android NDK:
ArTrackingFailureReasons
AR_TRACKING_FAILURE_REASON_CAMERA_UNAVAILABLE
به جایAR_TRACKING_FAILURE_REASON_NONE
است.Unity:
Session.LostTrackingReason
به جایNone
ازLostTrackingReason.CameraUnavailable
است.
Google داده ها را از استفاده شما از بسته Arcore Extensions به موجب خط مشی حفظ حریم خصوصی Google و شرایط خدمات Google APIS جمع آوری و پردازش می کند . می توانید از این امر خودداری کنید .
چه جدید در Arcore v1.13.0
این نسخه تغییرات قابل توجه زیر را اضافه می کند.
پشتیبانی از استفاده از پسوندهای Arcore برای بنیاد AR Unity برای ساخت برنامه های iOS با لنگرهای ابری .
پشتیبانی از برآورد روشنایی HDR محیط زیست در Sceneform .
برای رفع اشکال اضافی و سایر تغییرات شکستن ، یادداشت های انتشار زیر را مشاهده کنید.
چه جدید در Arcore v1.12.0
این نسخه تغییرات زیر را اضافه می کند:
علاوه بر این از ویژگی های افزایش یافته به iOS. برای اطلاعات بیشتر ، به این مرور کلی ، QuickStart و راهنمای توسعه دهنده مراجعه کنید.
پشتیبانی از استفاده از پسوندهای Arcore برای بنیاد AR Unity برای ساخت برنامه های Android با لنگرهای ابری.
تغییرات زیر در لنگرهای ابر:
- برای رعایت الزامات حریم خصوصی به روز شده ما برای استفاده از Arcore SDKS 1.12 یا بالاتر ، شما باید استفاده از لنگرهای ابر را با استفاده از متن زیر و همچنین پیوندی برای یادگیری بیشتر ، در صفحه اعلامیه ، از لنگرهای ابر فاش کنید: "به قدرت در این جلسه ، Google داده های بصری را از دوربین شما پردازش می کند. " شما می توانید این کار را با اجرای جریان اعلامیه کاربر توصیه شده موجود در برنامه های نمونه لنگر ابری ما انجام دهید.
برای اطلاعات بیشتر ، به الزامات حریم خصوصی کاربر مراجعه کنید.
برای اطلاعات بیشتر در مورد لنگرهای ابر:
اندروید:
Android NDK:
iOS:
وحدت:
پسوندهای Arcore:
چه جدید در Arcore v1.11.0
این نسخه تغییرات زیر را اضافه می کند:
سرویس Arcore برای AR به Google Play Services تغییر نام داده است. در دستگاه های Google Play ، اکنون به عنوان بخشی از خدمات Google Play توزیع شده است.
پیکربندی های دوربین Arcore 60 فریم در ثانیه را در دستگاه های پشتیبانی شده هدف قرار داده و با استفاده از سنسور عمق در دستگاه هایی که دارای یکی هستند ، اولویت بندی می کند. شما می توانید از فیلترهای پیکربندی دوربین جدید برای محدود کردن نرخ فریم ضبط دوربین به 30 فریم در ثانیه ، جلوگیری از استفاده از سنسور عمق یا فیلتر بر اساس هر دو گزینه استفاده کنید.
برای اطلاعات بیشتر در مورد پیکربندی های دوربین:
اندروید:
Android NDK:
وحدت:
آنچه در Arcore v1.10.0 جدید است
در این نسخه قابلیت تخمین روشنایی HDR جدید محیط زیست به API تخمین روشنایی برای Android ، Android NDK و وحدت اضافه می کند.
این API ها از یادگیری ماشین برای تجزیه و تحلیل تصویر دوربین ورودی و تخمین روشنایی محیطی استفاده می کنند. شما می توانید از این داده های برآورد روشنایی برای ارائه نورپردازی بسیار واقع بینانه استفاده کنید ، از جمله نور جهت اصلی ، سایه ها ، نورپردازی محیط ، برجسته های خاص و بازتاب در اشیاء مجازی. نتیجه محتوای مجازی است که واقع بینانه تر احساس می شود.
برای جزئیات بیشتر:
اندروید:
Android NDK:
وحدت:
آنچه در Arcore v1.9.0 جدید است
جدید در Arcore SDK برای Android
این نسخه این API ها و ویژگی های جدید را اضافه می کند:
صحنه بیننده یک بیننده همهجانبه است که تجربیات AR را از وب سایت شما امکان پذیر می کند. این امکان را به کاربران دستگاه تلفن همراه Android می دهد که به راحتی با مدل های سه بعدی میزبان وب در محیط خود قرار داده ، مشاهده و تعامل برقرار می کنند.
ویژگی های جدید تصاویر افزوده:
Arcore اکنون تصاویر در حال حرکت را دنبال می کند. نمونه هایی از تصاویر متحرک ، تبلیغاتی در اتوبوس در حال عبور یا تصویری بر روی یک شیء مسطح است که توسط یک کاربر در هنگام حرکت دست خود نگه داشته می شود.
پس از شناسایی یک تصویر ، Arcore قادر به ادامه ردیابی موقعیت و جهت گیری تصویر است ، حتی اگر تصویر به طور موقت از نمای دوربین خارج شده باشد.
برای تعیین اینکه آیا تصویر افزوده در حال حاضر توسط دوربین (
FULL_TRACKING
) ردیابی می شود ، یا بر اساس آخرین موقعیت شناخته شده خود (LAST_KNOWN_POSE
) ردیابی می شود ، ازAugmentedImage#getTrackingMethod()
(Java) یاArAugmentedImage_getTrackingMethod()
(NDK) استفاده کنید.
مستندات Anchors Cloud اکنون توضیح مفصلی در مورد نحوه میزبانی و حل لنگرها را شامل می شود.
جدید در Arcore SDK برای وحدت
ویژگی های جدید تصاویر افزوده:
Arcore اکنون تصاویر در حال حرکت را دنبال می کند. نمونه هایی از تصاویر متحرک ممکن است یک تبلیغ در اتوبوس در حال عبور یا یک تصویر بر روی یک شیء مسطح باشد که توسط یک کاربر هنگام حرکت به آن منتقل می شود.
پس از شناسایی یک تصویر ، Arcore قادر به ادامه ردیابی موقعیت و جهت گیری تصویر است ، حتی اگر تصویر به طور موقت از نمای دوربین خارج شده باشد.
API جدید
AugmentedImage.GetTrackingMethod()
برنامه شما را قادر می سازد تا تعیین کند که آیا تصویر افزوده در حال حاضر توسط دوربین (FullTracking
) ردیابی می شود ، یا بر اساس آخرین موقعیت شناخته شده آن (LastKnownPose
) ردیابی می شود.
مستندات Anchors Cloud اکنون توضیح مفصلی در مورد نحوه میزبانی و حل لنگرها را شامل می شود.
جدید در Arcore SDK برای iOS
پشتیبانی از این دستگاه ها:
نسل پنجم iPad mini
نسل سوم iPad Air
مستندات Anchors Cloud اکنون توضیح مفصلی در مورد نحوه میزبانی و حل لنگرها را شامل می شود.