ARCore برای Jetpack XR
| جدیدترین بهروزرسانی | نسخه پایدار | نامزد انتشار | انتشار نسخه بتا | نسخه آلفا |
|---|---|---|---|---|
| ۲۱ اکتبر ۲۰۲۶ | ۱.۰.۰ | - | - | 1.1.0-alpha01 |
اعلام وابستگیها
برای افزودن وابستگی به ARCore برای Jetpack XR، باید مخزن Google Maven را به پروژهتان اضافه کنید. برای اطلاعات بیشتر، مخزن Maven در Google را بخوانید.
وابستگیهای مصنوعات موردنیازتان را در فایل build.gradle برای برنامه یا واحدتان اضافه کنید:
شیک
dependencies { implementation "androidx.xr.arcore:arcore:1.1.0-alpha01" }
کاتلین
dependencies { implementation("androidx.xr.arcore:arcore:1.1.0-alpha01") }
برای اطلاعات بیشتر درباره وابستگیها، به افزودن وابستگیهای ساخت مراجعه کنید.
بازخورد
بازخوردتان به بهبود Jetpack کمک میکند. اگر مشکل جدیدی پیدا کردید یا ایدهای برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبلاز ایجاد مشکل جدید، مشکلات موجود در این کتابخانه را بررسی کنید. با کلیک کردن روی دکمه ستاره میتوانید رأی خود را به مشکل موجود اضافه کنید.
برای اطلاعات بیشتر، سند Issue Tracker را ببینید.
نسخه ۱.۱
نسخه 1.1.0-alpha01
۲۱ اکتبر ۲۰۲۶
androidx.xr.arcore:arcore-*:1.1.0-alpha01 منتشر شده است. نسخه 1.1.0-alpha01 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
SpatialAnnotationAPI را برای ردیابی هندسهها و اشیای فیزیکی سهبعدی معرفی کردیم. SpatialAnnotationTrackingOptionsو الگوی سازنده مربوط به آن برای پیکربندی ردیابی فضایی ازطریق میانگیرهای تصویر دوربین اضافه شد. (I918ce)-
SpatialAnnotationوSpatialAnnotationTrackingModeبه Jetpack XR ARCore معرفی شدند تا توسعهدهندگان بتوانند هندسههای چهارضلعی سهبعدی محدود دلخواه (Quad) را که محیطهای فضایی فیزیکی دنیای واقعی را هدف قرار میدهند پیکربندی و ردیابی کنند. (I880e4) TestSpatialAnnotationاضافه شد تا شبیهسازی برنامهای حاشیهنویسیهای فضایی در آزمایشهای خودکار امکانپذیر شود. (If2335)-
geospatialPose،horizontalAccuracy،verticalAccuracy، وorientationYawAccuracyبهعنوان APIهای جدید اضافه شدند تا اطلاعات بیشتری در وضعیت Geospatial ارائه دهند. (If28f8)
رفع اشکالها
- وابستگی
androidx.lifecycle:lifecycle-runtimeبه نسخه ۲.۱۰.۰ بهروز شد. این نسخه برای اجرای بررسیهای lint زمان اجرای چرخه حیات بستهبندیشده با AGP نسخه 9.5.0-alpha04 یا جدیدتر لازم است. (I99bfd, b/556807521) - هنگام پیکربندی
AugmentedImage، حداکثر تعداد تصویر ۰ بررسی شد و بهجای شکست غیرمنتظره،UnsupportedOperationExceptionنشان داده شد. I6ce439 - رفع نشت حافظه و مشکلات همزمانی در
AugmentedImageRendererبا ردیابی و لغو صحیح کارهای پردازش، حذف موجودیتها، و اصلاح ایمن مجموعه تصاویر. Ie70760
نسخه 1.0
نسخه ۱.۰.۰
۲۱ اکتبر ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0 منتشر شده است. نسخه ۱.۰.۰ حاوی این ثبتها است.
ویژگیهای اصلی نسخه ۱.۰.۰:
- ARCore برای Jetpack XR اکنون پایدار است! کتابخانه ARCore برای Jetpack XR قابلیتهایی را برای ترکیب محتوای دیجیتال با دنیای واقعی ارائه میدهد. این کتابخانه شامل ردیابی حرکت، لنگرهای دائمی، آزمایش برخورد، شناسایی سطح با برچسبگذاری معنایی (برای مثال، کف، دیوار، و روی میز)، و حالتهای جغرافیایی بااستفاده از «سیستم موقعیتیابی بصری» Google است.
- برای اطلاعات بیشتر، راهنمای توسعهدهندگان و مرجع میانای برنامهسازی کاربردی ما را ببینید.
نسخه 1.0.0-rc02
۷ اکتبر ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-rc02 منتشر شده است. نسخه 1.0.0-rc02 حاوی این موارد ثبت است.
رفع اشکالها
- مشکلی که باعث میشد وقتی ردیابی تصویر افزوده پشتیبانی نمیشد،
OpenXrRuntimeنتواند جلسه را پیکربندی کند برطرف شد. (I8b9759) - چند مشکل برطرف شد، ازجمله: بهبود مدیریت حافظه در
XrInstanceManagerبااستفاده ازapplicationContext، حل مشکلات احتمالی مربوط به چرخه حیات با سادهسازی سازوکارهای ذخیره موقتSessionوScene، و بهبودReferenceCleanerبرای اطمینان از ثبت پاکسازی ایمن رشته و دفع صریح. (Id0b76c)
نسخه 1.0.0-rc01
۹ سپتامبر ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-rc01 منتشر شده است. نسخه 1.0.0-rc01 حاوی این موارد ثبت است.
نسخه 1.0.0-beta02
۱۲ اوت ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-beta02 منتشر شده است. نسخه 1.0.0-beta02 حاوی این ارسالها است.
رفع اشکالها
- رفع مشکل همزمانی در پایداری لنگر
OpenXR. (I15c8b) toString()در کلاسهای بیشتری برای اشکالزدایی پیادهسازی شد. (I587e8)
نسخه 1.0.0-beta01
۱۵ ژوئیه ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-beta01 منتشر شده است. نسخه 1.0.0-beta01 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
- اصلاحکننده قابلتغییر اندازه بهروز شد تا بهجای دو اصلاحکننده، از یک
ResizePolicyاستفاده کند (I7fb0f، b/496257436، b/519672992) - اضافه شدن سربارگذاری قابلجابهجایی با پارامتر
movePolicyو منسوخ شدنtransformingMovableوmovable(Ic88c1، b/481781189) TrackingState.TRACKING_DEGRADED از سطح میانای برنامهسازی کاربردی عمومی برداشته شد و بهجای آن، حالتهای تنزلیافته زمان اجرای نقشه به PAUSED نگاشت شد.TrackingStateرا بهروز کنید تا بهجای مقادیر int از enum برای تبدیل رشته و تبدیل زمان اجرا استفاده کند. (I3eb5b، b/524326338)- Session.create به تابع تعلیق تبدیل شد. (I5d27f)
- منسوخ شدن
ProjectedPermissionsResultContract(I141d5، b/515699436) - Updated
AnchorEntityto be calledAnchorSpace(Ifa95e, b/513619219)
نسخه 1.0.0-alpha15
۱۷ ژوئن ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha15 منتشر شده است. نسخه 1.0.0-alpha15 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
HitResult.createAnchorحذف شد. توسعهدهندگان میتوانند با ارائه موقعیت ضربه به تابعcreateAnchorازAnchorable، لنگری ایجاد کنند که نشاندهندهHitResultباشد، اگر نتیجه قابلردیابی یکAnchorableباشد. (Ia851e)AnchorUnsupportedObjectحذف شد. دیگر توسط زمان اجرای JXR ARCore پرتاب نمیشود. (Ia851e)-
androidx.xr.arcore.Anchorوandroidx.xr.arcore.ArDeviceاکنونandroidx.xr.arcore.Trackableرا اجرا میکنند. (I57b65) -
Depth.left،Depth.right، وDepth.monoاکنون غیرقابلتهی هستند (I1fc5e) -
Face.getUserFaceاکنون غیرقابلتهی است (I0eac1) -
RenderViewpoint.left،RenderViewpoint.right،RenderViewpoint.monoاکنون غیرقابلتهی هستند (Icf7fa) -
Hand.leftوHand.rightغیرقابلتهی هستند (Icef37) -
QrCodeAPI (Ia0bbe) اضافه شد
نسخه 1.0.0-alpha14
۱۹ مه ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha14 منتشر شده است. نسخه 1.0.0-alpha14 حاوی این کدهای تائید است.
تغییرات میانای برنامهسازی کاربردی
- منسوخ کردن
GeospatialMode.VPS_AND_GPSبهنفعGeospatialMode.SPATIALو معرفی حالت ردیابی جدید با مصرف انرژی کمتر،GeospatialMode.INERTIAL، که فقط از IMU و GPS استفاده میکند. (I1e6cd) - کلاسهای استثنای لنگر سفارشی:
AnchorInvalidUuidException،AnchorNotAuthorizedException،AnchorUnsupportedLocationException،AnchorRuntimeFailureException، وAnchorUnsupportedObjectExceptionاکنون نمونههایRuntimeExceptionهستند و برای بررسی درنظر گرفته نشدهاند. (I9356e) -
ArCoreTestRuleAPI اضافه شد، ازجملهTestArDevice،TestAugmentableObject،TestDepthMap،TestEye،TestFace،TestGeospatial،TestHand،TestPlane،TestRenderViewpoint، وTestTrackable(I0ad3c) -
AnchorLoadInvalidUuid،AnchorCreateUnsupportedObject،AnchorCreateUnsupportedLocation، وAnchorCreateNotAuthorizedرا برمیدارد. اکنون همه این خطاها در زمان اجرا استثنا هستند.AnchorCreateIllegalStateرا برمیدارد. در بیشتر موارد، این مورد باAnchorCreateTrackingUnavailableجایگزین شده است. AnchorExceptionو کلاسهای مشتقشدهAnchorInvalidUuidException،AnchorNotAuthorizedException،AnchorUnsupportedLocationException،AnchorRuntimeFailureException، وAnchorUnsupportedObjectExceptionرا اضافه میکند. (I4c4dd)
همیاری خارجی
- میانای برنامهسازی کاربردی
AugmentedImageبرای ردیابی نشانگر سفارشی اضافه شد (I0cf09)
نسخه 1.0.0-alpha13
۶ مه ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha13 منتشر شده است. نسخه 1.0.0-alpha13 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
-
TrackingStateوVpsAvailabilityResultبهandroidx.xr.arcore packageمنتقل شدهاند و انواع موجود درandroidx.xr.runtimeاکنون منسوخ شدهاند. (Ic7930، b/480462213) - نام
Plane.TypeبهPlaneTypeتغییر کرد. (I8c90c، b/482675376) - نام
Hand.HandSideبهHandSideتغییر کرد. (Ica562، b/482675376) - نام
Plane.LabelبهPlaneLabelتغییر کرد. (Ic6b67، b/482675376) - نام
Geospatial.SurfaceبهGeospatialSurfaceتغییر کرد. (I1a8be، b/482675376) - نام
Geospatial.StateبهGeospatialStateتغییر کرد. (I203fa، b/482675376) - میانای برنامهسازی کاربردی
NativeDataبه کتابخانهxr:runtime:runtimeمنتقل شد. (I87954، b/494251500) -
Session.createوSession.configureاکنون غیرجامع هستند و به عبارتهای else در دستورهای when نیاز دارند. (I9885e، b/495805998، b/495805998) -
androidx.xr.runtime.FieldOfViewمنسوخ شده است. درعوض ازandroidx.xr.runtime.math.FieldOfViewاستفاده کنید. (Ia01a0، b/480233045) - Orbiter را تغییر دادیم تا بهجای position، offset، offsetType، alignment، و elevation، از
OrbiterAnchorPoint + VolumeOffsetیاOrbiterPoseProviderاستفاده کند. پارامترshouldRenderInNonSpatialنیز برداشته شد. اگر توسعهدهنده نمیخواهد orbiter در حالت غیرفضایی ارائه شود، باید orbiter را در یک عبارت if قرار دهد وSpatialCapabilitiesرا بررسی کند. (I9fbb3، b/462428503) - اصلاحکنندههای قابلجابهجایی اضافه شد. این اصلاحکنندهها درحالحاضر برای
SpatialPanelsوSpatialExternalSurfaceبهخوبی کار میکنند. بهزودی برایSpatialGltfModelsنیز پشتیبانی خواهد شد. بااینحال، هدف این است که این موارد بهخوبی برای همهSubspaceComposablesپشتیبانی شوند. (I9a3cd، b/479530787، b/478935063، b/478935063) - انتظار میرود توسعهدهندگان «جریان»
ArDevice.stateرا برای نظارت برState.trackingStateرعایت کنند و رندر یا هشدارهای برنامهشان را براساس دقت ردیابی تنظیم کنند. (Ic00f0، b/445466590) - نام
HandJointTypeمقدار enum تغییر کرد. (Ifbc83، b/482670596) - نام
FaceConfidenceRegionثابت تغییر کرد. (Ia62d5، b/482670596) - نام
FaceBlendShapeTypeثابت تغییر کرد. (I33b8b، b/482670596) CreatePoseFromGeospatialPoseErrorInternalوCreateGeospatialPoseFromPoseErrorInternalاضافه شد. (I4bcf1، b/482666615)- نام
DeviceTrackingMode.LAST_KNOWNبهSPATIAL_LAST_KNOWNتغییر کرد (با یک بازگشت منسوخشده)،INERTIAL_LAST_KNOWNبرای ردیابی 3DoF اضافه شد، وTRACKING_DEGRADEDبهTrackingStateاضافه شد. (Ie661c، b/445466590) -
GroupEntityمنسوخ شد. برای داشتن «نهاد» با عملکرد «نهاد» پایه،Entity.createرا فراخوانی کنید که میانای «نهاد» را برمیگرداند. (I4c450، b/473867483) - میانای برنامهسازی کاربردی
XrLogاضافه شد.XrLog.isEnabledرا رویtrueتنظیم کنید تا ثبت گزارش در JetpackXR فعال شود، و ازXrLog.Levelبرای تنظیم سطح گزارش استفاده کنید. (I76a1f، b/463460895، b/487378441)
رفع اشکالها
- افزودن پشتیبانی از وضعیت ردیابی دستگاه به دستگاههای openxr. (I91485، b/445466590)
نسخه 1.0.0-alpha12
۲۵ مارس ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha12 منتشر شده است. نسخه 1.0.0-alpha12 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
Config.augmentedObjectCategoriesاز «فهرست» به «مجموعه» تغییر کرد. (I25a64، b/487376359)- انواع
androidx.xr.arcore.Eyeوandroidx.xr.arcore.Hand. (I42438، b/449032900) - بار اضافی
Session.createاضافه شد تا امکان ارسال «بافت Android» برای محدود کردن منابع فراهم شود. (I7d3fe، b/415805990، b/477386334) FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMITرا بهFakeRuntimeAnchor.anchorResourceLimitتغییر میدهد. (I90841، b/431992235)-
TiltGestureAPI آزمایشی میشود چون ممکن است در آینده تغییر کند یا برداشته شود. برای استفاده از این میانای برنامهسازی کاربردی، با@ExperimentalGesturesApi(Ic9858) موافقت کنید - Added ability to set categories for
AugmentedObjecttracking in the Config (I1f6e4, b/480220930)
رفع اشکالها
- ساخت Chrome با بهروزرسانی فایل META-INF/services/ با مکان واقعی
PerceptionRuntimeFactoryاصلاح شد. (I7a801، b/481288291)
نسخه 1.0.0-alpha11
۲۵ فوریه ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha11 منتشر شده است. نسخه 1.0.0-alpha11 حاوی این ارسالها است.
نسخه 1.0.0-alpha10
۲۸ ژانویه ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha10 منتشر شده است. نسخه 1.0.0-alpha10 حاوی این ارسالها است.
ویژگیهای جدید
TiltGestureAPI را معرفی میکند کهFlowواکنشی را برای تشخیص پایدار وضعیت کج شدن دستگاه (بالا/پایین) با پیشرفت انتقال ارائه میدهد. (Ic269f، b/448152779)- ARCore برای Jetpack XR اکنون از سازوکار «ثبت گزارش زمان اجرای XR» استفاده میکند. برای اطلاعات بیشتر، به
androidx.xr.runtime.Logمراجعه کنید. (l52735، b/448697662)
تغییرات میانای برنامهسازی کاربردی
Geospatial.createPoseFromGeospatialPoseاکنون در دستگاههای سازگار با OpenXR کار میکند. (l362c6)
نسخه 1.0.0-alpha09
۳ دسامبر ۲۰۲۵
androidx.xr.arcore:arcore-*:1.0.0-alpha09 منتشر شده است. نسخه 1.0.0-alpha09 حاوی این ارسالها است.
نسخه 1.0.0-alpha08
۱۹ نوامبر ۲۰۲۵
androidx.xr.arcore:arcore-*:1.0.0-alpha08 منتشر شده است. نسخه 1.0.0-alpha08 حاوی این ارسالها است.
ویژگیهای جدید
ARCoreبرای Jetpack XR اکنون از دستگاههایی که «خدمات Google Play ویژه واقعیت افزوده» در آنها دردسترس است پشتیبانی میکند.- افزودن Geospatial APIs برای «دردسترس بودن VPS» و تبدیل حالت (I144dc)
نسخه 1.0.0-alpha07
۲۲ اکتبر ۲۰۲۵
androidx.xr.arcore:arcore-*:1.0.0-alpha07 منتشر شده است. نسخه 1.0.0-alpha07 حاوی این ارسالها است.
رفع اشکالها
:xr:arcore:arcore-openxrبهعنوان وابستگی پیادهسازی به:xr:arcore:arcoreاضافه شد (I47315، b/446999229)
نسخه 1.0.0-alpha06
۲۴ سپتامبر ۲۰۲۵
androidx.xr.arcore:arcore-*:1.0.0-alpha06 منتشر شده است. نسخه 1.0.0-alpha06 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
- پشتیبانی آزمایشی برای
ARCoreبه واحدxr:arcore:arcore-testingمنتقل شده است. (I25469) - افزودن
ArDeviceوRenderViewpointبرای اینکه برنامهها بتوانند پیکربندی نمایش و وضعیت دستگاه را برای اهداف پردازشی بازیابی کنند. (Ib7e3f) - تغییر نام شمارشهای
HandJointTypeبا پیشوندHAND_JOINT_TYPE_. (I3f7cd) -
HandJointTypeازxr:runtime:runtimeبهxr:arcore:arcoreمنتقل شد. (Iadb9c، b/409058039) Hand.Stateاکنونjava.nio.FloatBufferرا با حالتهای مفصل در قالبی نمایش میدهد که امکان دسترسی آسان به برنامههای عملکردمحور را فراهم میکند. (I55e27)
نسخه 1.0.0-alpha05
۳۰ ژوئیه ۲۰۲۵
androidx.xr.arcore:arcore:1.0.0-alpha05، androidx.xr.arcore:arcore-guava:1.0.0-alpha05، و androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05 منتشر شدهاند. نسخه 1.0.0-alpha05 حاوی این ارسالها است.
ویژگیهای جدید
- Add
getPrimaryHandSideso the developer could get the hand side info (I270bd) - Add geospatial check VPS availability API (I58573)
- افزودن ARCore API برای
checkVpsAvailability(Idbded) - توابع افزونه
stateFlowableبه:xr:arcore:arcore-rxjava3اضافه شد تا توسعهدهندگان جاوا بتوانند از آن استفاده کنند. (I083aa، b/427247794)
تغییرات میانای برنامهسازی کاربردی
- مقادیر پیکربندی
*Modeتغییر نام دادهاند تا رفتارشان را نشان دهند. (I6d247، b/414648065) - ساخته اصلی ARCore (xr:arcore:arcore) فقط حاوی میاناهای برنامهسازی کاربردی ناهمگام به سبک Kotlin خواهد بود. توسعهدهندگان Java میتوانند برای دسترسی به میاناهای برنامهسازی کاربردی سازگار به کتابخانه
xr:arcore:arcore-rxjava3متکی باشند. (Ia525e، b/422794329) - ساخته اصلی ARCore (
xr:scenecore:scenecore) فقط حاوی میاناهای برنامهسازی کاربردی ناهمگام به سبک Kotlin خواهد بود. توسعهدهندگان Java میتوانند برای دسترسی به میاناهای برنامهسازی کاربردی سازگار به کتابخانهxr:arcore:arcore-guavaمتکی باشند. (Iffcb4، b/422773524) Anchor.persistAsync()بهAnchorGuavaاضافه شد تا توسعهدهندگان Java بتوانند از آن استفاده کنند. (I4af1c، b/425984631)Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)بهEarthGuavaاضافه شد تا توسعهدهندگان Java بتوانند از آن استفاده کنند. (I66357، b/425992992)- توسعهدهندگان جاوا از توابع افزونه برای
GltfModel.createAsyncدرGltfModel.ktاستفاده خواهند کرد. توابع ناهمگام درGltfModelحذف خواهد شد. (I0af60) - این کتابخانه اکنون از حاشیهنویسیهای پوچی JSpecify استفاده میکند که از نوع استفاده هستند. توسعهدهندگان Kotlin باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند:
-Xjspecify-annotations=strict(این پیشفرض از نسخه ۲.۱.۰ کامپایلر Kotlin شروع میشود) (Ia8420، b/326456246) - توابع افزونه
subscribeAsFlowableبه:xr:arcore:arcore-rxjava3اضافه شد تا توسعهدهندگان جاوا بتوانند از آن استفاده کنند. (Id3e49، b/427277298)
نسخه 1.0.0-alpha04
۷ مه ۲۰۲۵
androidx.xr.arcore:arcore:1.0.0-alpha04 منتشر شده است. نسخه 1.0.0-alpha04 حاوی این موارد ثبت است.
تغییرات میانای برنامهسازی کاربردی
- پروژههای منتشرشده با Kotlin 2.0 برای استفاده به KGP 2.0.0 یا جدیدتر نیاز دارند. (Idb6b5)
-
TrackingStateوHandJointTypeاز ARCore به Runtime منتقل شدهاند. Hand.State.isActive (boolean)بهHand.State.trackingState (androidx.xr.runtime.TrackingState)تغییر کرده است.- اگر UUID نامعتبر باشد،
Anchor.loadمقدارAnchor.AnchorLoadInvalidUuidرا برمیگرداند.
نسخه 1.0.0-alpha03
۲۶ فوریه ۲۰۲۵
androidx.xr.arcore:arcore:1.0.0-alpha03 بدون تغییر قابلتوجهی نسبتبه نسخه آلفای قبلی منتشر شده است. نسخه 1.0.0-alpha03 حاوی این موارد ثبت است.
نسخه 1.0.0-alpha02
۱۲ فوریه ۲۰۲۵
androidx.xr.arcore:arcore:1.0.0-alpha02 منتشر شده است. نسخه 1.0.0-alpha02 حاوی این ارسالها است.
ویژگیهای جدید
- پشتیبانی از ردیابی دست اضافه شد. برای دسترسی به اطلاعات رهگیری، از
Hand.leftوHand.rightاستفاده کنید. - میاناهای برنامهسازی کاربردی که لنگر تولید میکنند (
Anchor.create،Anchor.load،Plane.createAnchor) اکنون همگیAnchorCreateResultرا برمیگردانند وAnchorCreateResourcesExhaustedرا بهدرستی پیادهسازی میکنند.
رفع اشکالها
Anchor.detachدیگر بهدلیل شرایط رقابتی با رشته بهروزرسانی «جلسه» باعث خرابی مهلک نمیشود.Anchor.createهنگام اجرا در شبیهساز پایدارتر است
نسخه 1.0.0-alpha01
۱۲ دسامبر ۲۰۲۴
androidx.xr.arcore:arcore-* 1.0.0-alpha01 منتشر شده است.
ویژگیهای نسخه پخش اولیه
کتابخانه ARCore برای Jetpack XR با الهام از کتابخانه ARCore موجود، قابلیتهایی را برای ترکیب محتوای دیجیتال با دنیای واقعی ارائه میدهد. این کتابخانه شامل ردیابی حرکت، لنگرهای دائمی، آزمایش برخورد، و شناسایی صفحه با برچسبگذاری معنایی (برای مثال، کف، دیوارها، و روی میز) است. برای کسب اطلاعات بیشتر درباره کار با ARCore برای Jetpack XR، راهنمای توسعهدهندگان را مشاهده کنید.
Session: ARCore برای Jetpack XR از Jetpack XR Runtime در پشت صحنه برای تقویت عملکرد خود استفاده میکند. برای تعامل با اکثر میاناهای برنامهسازی کاربردی ARCore برای Jetpack XR، از «جلسه» استفاده خواهید کرد، بنابراین لطفاً به مستندات آن نگاهی بیندازید.Plane: از سطوح برای درک دنیای اطرافتان استفاده کنید. هر صفحه دارای یکLabelاست که آن را ازنظر معنایی توصیف میکند. میتوانید ازsubscribeبرای دریافت اعلان درباره جدیدترین هواپیماهای شناساییشده یا ازstateبرای دریافت اعلان درباره تغییرات هواپیمایی خاص استفاده کنید.Anchor: پیوندی بین شیء مجازی و مکان دنیای واقعی. لنگرها را میتوان به مکان خاصی در فضا (بااستفاده ازcreate) یاTrackable(بااستفاده ازcreateAnchor) متصل کرد.از لنگرها میتوان در جلسههای مختلف دوباره استفاده کرد. میتوانید از
persistبرای ذخیره کردن آنها، ازgetPersistedAnchorUuidsبرای شمارش آنها، و ازloadبرای بازیابی آنها استفاده کنید. مطمئن شوید که وقتی دیگر از آنها استفاده نمیشود، آنها راunpersistکنید.لنگرها بین ARCore برای Jetpack XR و Jetpack SceneCore همکنشپذیر هستند. میتوانید بااستفاده از لنگر،
AnchorEntityایجاد کنید یا اگر AnchorEntity موجودی دارید، میتوانید ازgetAnchorبرای بازیابی لنگر پشتیبان آن استفاده کنید.بااستفاده از
hitTest، تعاملات طبیعی کاربر را ارائه دهید. hitTest ازRayاستفاده میکند تا مشخص کند با کدام محتواها تلاقی دارد و از آن مکان یکAnchorایجاد کند. انجام hitTest ازInputEventرا درنظر بگیرید.
مشکلات شناختهشده
ممکن است بین فراخوانی
unpersistو حذف UUID آن از نتایج برگرداندهشده توسطgetPersistedAnchorUuidsتأخیر وجود داشته باشد.createتأیید نخواهد کرد که سیستم منابع کافی برای برگرداندن لنگرهای جدید دارد. ایجاد تعداد بیشازحد لنگر ممکن است باعث ازکارافتادن برنامه شود.درحالحاضر از ماندگار کردن «لنگری» که قبلاً ماندگار شده و ماندگاری آن لغو شده است پشتیبانی نمیشود.
استفاده در شبیهساز پشتیبانی میشود، اما ممکن است رفتار آن بهاندازه اجرا در دستگاه واقعی پایدار نباشد. بهویژه، فراخوانیهای
createممکن است با خطای کد بومی ناموفق باشد و فعالیت فوراً پایان یابد.در شرایط خاص، ممکن است هنگام فراخوانی
persist،RuntimeExceptionبهاشتباه با پیام «لنگر حفظ نشد» ایجاد شود. در این شرایط، عملکرد همچنان موفقیتآمیز خواهد بود و لنگر حفظ خواهد شد. توصیه میکنیم بهعنوان راهحل موقت، فراخوانیpersistرا با بلوکtryبپوشانید.