ARCore برای Jetpack XR
آخرین به روز رسانی | انتشار پایدار | کاندید را آزاد کنید | نسخه بتا | انتشار آلفا |
---|---|---|---|---|
30 جولای 2025 | - | - | - | 1.0.0-alpha05 |
اعلام وابستگی ها
برای افزودن وابستگی به ARCore برای Jetpack XR، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.
وابستگیهای مصنوعات مورد نیاز خود را در فایل build.gradle
برای برنامه یا ماژول خود اضافه کنید:
شیار
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-alpha05" }
کاتلین
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha05") }
برای اطلاعات بیشتر درباره وابستگیها، به افزودن وابستگیهای ساخت نگاه کنید.
بازخورد
بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه 1.0
نسخه 1.0.0-alpha05
30 جولای 2025
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 حاوی این تعهدات است.
ویژگی های جدید
-
getPrimaryHandSide
اضافه کنید تا توسعهدهنده بتواند اطلاعات دستی را دریافت کند ( I270bd ) - افزودن API در دسترس بودن VPS بررسی مکانی ( I58573 )
- ARCore API را برای
checkVpsAvailability
( Idbded ) اضافه کنید - توابع افزودنی
stateFlowable
برای استفاده توسط توسعه دهندگان جاوا به:xr:arcore:arcore-rxjava3
اضافه شده است. ( I083aa , b/427247794 )
تغییرات API
- Config
*Mode
vals برای نشان دادن رفتار آنها تغییر نام داده شده است. ( I6d247 , b/414648065 ) - آرتیفکت اصلی ARCore (xr:arcore:arcore) فقط حاوی APIهای همگام به سبک Kotlin خواهد بود. توسعه دهندگان جاوا می توانند برای دسترسی به API های سازگار به کتابخانه
xr:arcore:arcore-rxjava3
وابسته باشند. ( Ia525e , b/422794329 ) - مصنوع اصلی ARCore (
xr:scenecore:scenecore
) فقط حاوی APIهای همگام به سبک Kotlin خواهد بود. توسعه دهندگان جاوا می توانند برای دسترسی به API های سازگار به کتابخانهxr:arcore:arcore-guava
وابسته باشند. ( Iffcb4 , b/422773524 ) -
Anchor.persistAsync()
برای استفاده توسط توسعه دهندگان جاوا بهAnchorGuava
اضافه شد. ( I4af1c , b/425984631 ) -
Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)
برای استفاده توسط توسعه دهندگان جاوا بهEarthGuava
اضافه شد. ( I66357 , b/425992992 ) - توسعه دهندگان جاوا از توابع پسوند برای
GltfModel.createAsync
درGltfModel.kt
استفاده خواهند کرد. توابع Async درGltfModel
حذف خواهند شد. ( I0af60 ) - این کتابخانه اکنون از حاشیهنویسیهای پوچ JSpecify استفاده میکند که نوع استفاده هستند. توسعه دهندگان Kotlin باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند:
-Xjspecify-annotations=strict
(این به طور پیش فرض با نسخه 2.1.0 کامپایلر Kotlin شروع می شود) ( Ia8420 , b/326456246 ) - توابع پسوند
subscribeAsFlowable
برای استفاده توسط توسعه دهندگان جاوا به:xr:arcore:arcore-rxjava3
اضافه شده است. ( ID3e49 , b/427277298 )
نسخه 1.0.0-alpha04
7 مه 2025
androidx.xr.arcore:arcore:1.0.0-alpha04
منتشر شد. نسخه 1.0.0-alpha04 حاوی این تعهدات است.
تغییرات API
- پروژههایی که با 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
26 فوریه 2025
androidx.xr.arcore:arcore:1.0.0-alpha03
بدون هیچ تغییر قابل توجهی از آخرین آلفا منتشر شده است. نسخه 1.0.0-alpha03 حاوی این تعهدات است.
نسخه 1.0.0-alpha02
12 فوریه 2025
androidx.xr.arcore:arcore:1.0.0-alpha02
منتشر شد. نسخه 1.0.0-alpha02 حاوی این تعهدات است.
ویژگی های جدید
- اضافه شدن پشتیبانی ردیابی دست برای دسترسی به اطلاعات ردیابی
Hand.left
وHand.right
استفاده کنید. - APIهایی که یک anchor تولید می کنند (
Anchor.create
,Anchor.load
,Plane.createAnchor
) اکنون همهAnchorCreateResult
برمی گرداند وAnchorCreateResourcesExhausted
به درستی پیاده سازی می کند.
رفع اشکال
-
Anchor.detach
دیگر به دلیل شرایط مسابقه با موضوع بهروزرسانی Session باعث تصادف مرگبار نمیشود. -
Anchor.create
هنگام اجرا روی شبیه ساز پایدارتر است
نسخه 1.0.0-alpha01
12 دسامبر 2024
androidx.xr.arcore:arcore-* 1.0.0-alpha01
منتشر شد.
ویژگی های انتشار اولیه
با الهام از کتابخانه ARCore موجود، کتابخانه ARCore for Jetpack XR قابلیت هایی را برای ترکیب محتوای دیجیتال با دنیای واقعی فراهم می کند. این کتابخانه شامل ردیابی حرکت، لنگرهای مداوم، تست ضربه و شناسایی هواپیما با برچسبگذاری معنایی (به عنوان مثال، کف، دیوارها و میزها) است. برای کسب اطلاعات بیشتر در مورد کار با ARCore برای Jetpack XR، راهنمای توسعه دهنده را مشاهده کنید.
Session
: ARCore برای Jetpack XR از Jetpack XR Runtime در زیر هود برای تقویت عملکرد خود استفاده می کند. شما از Session برای تعامل با بیشتر ARCore برای Jetpack XR API استفاده خواهید کرد، بنابراین لطفاً به مستندات آن نگاهی بیندازید.Plane
: از هواپیما برای درک دنیای اطراف خود استفاده کنید. هر صفحه دارای یکLabel
است که آن را به صورت معنایی توصیف می کند. میتوانید ازsubscribe
استفاده کنید تا از آخرین هواپیماهای شناساییشده مطلع شوید یا از تغییرات یک هواپیمای خاصstate
شوید.Anchor
: پیوندی بین یک شی مجازی و یک مکان در دنیای واقعی. لنگرها را می توان به یک مکان خاص در فضا (با استفاده ازcreate
) یاTrackable
(با استفاده ازcreateAnchor
) متصل کرد.لنگرها را می توان مجدداً در جلسات استفاده کرد. می توانید
persist
برای ذخیره آنها،getPersistedAnchorUuids
برای برشمردن آنها وload
برای بازیابی آنها استفاده کنید. اطمینان حاصل کنید که پس از عدم استفاده از آنها، آنها راunpersist
.لنگرها بین ARCore برای Jetpack XR و Jetpack SceneCore قابل اجرا هستند. شما می توانید یک
AnchorEntity
با استفاده از Anchor ایجاد کنید یا اگر AnchorEntity موجود دارید، می توانید ازgetAnchor
برای بازیابی لنگر پشتیبان آن استفاده کنید.تعاملات طبیعی کاربر را با استفاده از
hitTest
ارائه دهید. یک hitTest از یکRay
برای تعیین اینکه کدام محتوا را قطع می کند و برای ایجاد یکAnchor
از آن مکان استفاده می کند. انجام یک hitTest از یکInputEvent
را در نظر بگیرید.
مسائل شناخته شده
ممکن است بین فراخوانی
unpersist
و حذف UUID آن از نتایج برگردانده شده توسطgetPersistedAnchorUuids
تاخیر وجود داشته باشد.create
تایید نمی کند که سیستم منابع کافی برای برگرداندن لنگرهای جدید دارد. ایجاد مقدار بیش از حد لنگر ممکن است منجر به تصادف شود.تداوم یک لنگر که قبلاً ادامه داشت و ادامه نداشت در حال حاضر پشتیبانی نمیشود.
استفاده در شبیه ساز پشتیبانی می شود، اما رفتار ممکن است به اندازه زمانی که روی یک دستگاه واقعی اجرا می شود پایدار نباشد. به ویژه، ممکن است تماسها برای
create
با خطای کد بومی شکست بخورند و بلافاصله فعالیت را خاتمه دهند.در شرایط خاص، یک
RuntimeException
ممکن است به اشتباه هنگام فراخوانیpersist
با پیام "Anchor was not persisted" پرتاب شود. در آن شرایط، عملکرد همچنان موفق خواهد بود و لنگر ادامه خواهد داشت. ما توصیه میکنیم که تماس را برایpersist
با یک بلوکtry
به عنوان راهحل بسته بندی کنید.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-30 بهوقت ساعت هماهنگ جهانی.