ARCore برای Jetpack XR
| آخرین بهروزرسانی | انتشار پایدار | کاندیدای انتشار | انتشار بتا | انتشار آلفا |
|---|---|---|---|---|
| ۲۲ اکتبر ۲۰۲۵ | - | - | - | ۱.۰.۰-آلفا۰۷ |
اعلام وابستگیها
برای افزودن وابستگی به ARCore برای Jetpack XR، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Google's Maven را مطالعه کنید.
وابستگیهای مربوط به مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:
گرووی
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-alpha07" // Optional dependencies for asynchronous conversions implementation "androidx.xr.arcore:arcore-guava:1.0.0-alpha07" implementation "androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha07" }
کاتلین
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha07") // Optional dependencies for asynchronous conversions implementation("androidx.xr.arcore:arcore-guava:1.0.0-alpha07") implementation("androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha07") }
برای اطلاعات بیشتر در مورد وابستگیها، به «افزودن وابستگیهای ساخت» مراجعه کنید.
بازخورد
بازخورد شما به بهبود Jetpack کمک میکند. اگر مشکلات جدیدی کشف کردید یا ایدههایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد یک کتابخانه جدید، نگاهی به مشکلات موجود در این کتابخانه بیندازید. میتوانید با کلیک بر روی دکمه ستاره، رأی خود را به یک مشکل موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه ۱.۰
نسخه ۱.۰.۰-آلفا۰۷
۲۲ اکتبر ۲۰۲۵
androidx.xr.arcore:arcore-*:1.0.0-alpha07 منتشر شد. نسخه 1.0.0-alpha07 شامل این کامیتها است.
رفع اشکالات
-
:xr:arcore:arcore-openxrبه عنوان یک وابستگی پیادهسازی به:xr:arcore:arcore( I47315 , b/446999229 ) اضافه شد.
نسخه ۱.۰.۰-alpha06
۲۴ سپتامبر ۲۰۲۵
androidx.xr.arcore:arcore-*:1.0.0-alpha06 منتشر شد. نسخه 1.0.0-alpha06 شامل این کامیتها است.
تغییرات API
- پشتیبانی از تست
ARCoreبه ماژولxr:arcore:arcore-testingمنتقل شده است. ( I25469 ) - اضافه کردن
ArDeviceوRenderViewpointبرای اینکه برنامهها بتوانند پیکربندی حالت و نمایش دستگاه را برای اهداف رندرینگ بازیابی کنند. ( Ib7e3f ) - نام enumهای
HandJointTypeرا با پیشوندHAND_JOINT_TYPE_تغییر دهید. ( I3f7cd ) -
HandJointTypeازxr:arcore:arcorexr:runtime:runtimearcore:arcore منتقل شده است ( Iadb9c ، b/409058039 ). -
Hand.Stateاکنون یکjava.nio.FloatBufferبا حالتهای اتصال در قالبی که امکان دسترسی آسان به برنامههای کاربردی با عملکرد بالا را فراهم میکند، نمایش میدهد. ( I55e27 )
نسخه ۱.۰.۰-آلفا۰۵
۳۰ ژوئیه ۲۰۲۵
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 )
- اضافه کردن API ARCore برای
checkVpsAvailability( شناساییشده ) - توابع افزونهی
stateFlowableبرای استفادهی توسعهدهندگان جاوا به:xr:arcore:arcore-rxjava3اضافه شدند. ( I083aa , b/427247794 )
تغییرات API
- پیکربندی
*Modeبرای انعکاس رفتارشان تغییر نام داده شدهاند. ( I6d247 ، b/414648065 ) - مصنوع اصلی ARCore (xr:arcore:arcore) فقط شامل APIهای ناهمگام به سبک کاتلین خواهد بود. توسعهدهندگان جاوا میتوانند برای دسترسی به APIهای سازگار به کتابخانه
xr:arcore:arcore-rxjava3تکیه کنند. ( Ia525e , b/422794329 ) - مصنوع اصلی ARCore (
xr:scenecore:scenecore) فقط شامل APIهای ناهمگام به سبک کاتلین خواهد بود. توسعهدهندگان جاوا میتوانند برای دسترسی به 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 ) - این کتابخانه اکنون از حاشیهنویسیهای nullness از نوع JSpecify استفاده میکند که از نوع type-use هستند. توسعهدهندگان Kotlin باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند:
-Xjspecify-annotations=strict(این پیشفرض است که از نسخه 2.1.0 کامپایلر Kotlin شروع میشود) ( Ia8420 ، b/326456246 ) - توابع افزونه
subscribeAsFlowableبرای استفاده توسعهدهندگان جاوا به:xr:arcore:arcore-rxjava3اضافه شدند. ( Id3e49 ، b/427277298 )
نسخه ۱.۰.۰-آلفا۰۴
۷ مه ۲۰۲۵
androidx.xr.arcore:arcore:1.0.0-alpha04 منتشر شد. نسخه 1.0.0-alpha04 شامل این کامیتها است.
تغییرات API
- پروژههایی که با کاتلین ۲.۰ منتشر شدهاند، برای استفاده به KGP ۲.۰.۰ یا جدیدتر نیاز دارند. ( IDb6b5 )
-
TrackingStateوHandJointTypeاز ARCore به Runtime منتقل شدهاند. -
Hand.State.isActive (boolean)بهHand.State.trackingState (androidx.xr.runtime.TrackingState)تغییر یافته است. - اگر UUID نامعتبر باشد،
Anchor.loadAnchor.AnchorLoadInvalidUuidرا برمیگرداند.
نسخه ۱.۰.۰-آلفا۰۳
۲۶ فوریه ۲۰۲۵
androidx.xr.arcore:arcore:1.0.0-alpha03 بدون هیچ تغییر قابل توجهی از آخرین نسخه آلفا منتشر شده است. نسخه 1.0.0-alpha03 شامل این کامیتها است.
نسخه ۱.۰.۰-آلفا۰۲
۱۲ فوریه ۲۰۲۵
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هنگام اجرا روی یک شبیهساز پایدارتر است
نسخه ۱.۰.۰-آلفا۰۱
۱۲ دسامبر ۲۰۲۴
androidx.xr.arcore:arcore-* 1.0.0-alpha01 منتشر شد.
ویژگیهای نسخه اولیه
کتابخانه ARCore for Jetpack XR با الهام از کتابخانه ARCore موجود، قابلیتهایی را برای ترکیب محتوای دیجیتال با دنیای واقعی فراهم میکند. این کتابخانه شامل ردیابی حرکت، لنگرهای پایدار، آزمایش ضربه و شناسایی صفحه با برچسبگذاری معنایی (به عنوان مثال، کف، دیوارها و روی میزها) است. برای کسب اطلاعات بیشتر در مورد کار با ARCore for Jetpack XR، به راهنمای توسعهدهنده مراجعه کنید.
Session: ARCore برای Jetpack XR از Jetpack XR Runtime در زیر هود برای تأمین عملکرد خود استفاده میکند. شما از یک جلسه برای تعامل با اکثر APIهای ARCore برای Jetpack XR استفاده خواهید کرد، بنابراین لطفاً به مستندات آن نگاهی بیندازید.Plane: از صفحهها برای درک دنیای اطراف خود استفاده کنید. هر صفحه دارای یکLabelاست که آن را از نظر معنایی توصیف میکند. میتوانید ازsubscribeبرای اطلاع از آخرین صفحات شناسایی شده یاstateبرای اطلاع از تغییرات یک صفحه خاص استفاده کنید.Anchor: پیوندی بین یک شیء مجازی و یک مکان در دنیای واقعی. Anchorها میتوانند به یک مکان خاص در فضا (با استفاده ازcreate) یا یکTrackable(با استفاده ازcreateAnchor) متصل شوند.میتوان از Anchorها در طول جلسات مختلف دوباره استفاده کرد. میتوانید از
persistبرای ذخیره آنها،getPersistedAnchorUuidsبرای شمارش آنها وloadبرای بازیابی آنها استفاده کنید. مطمئن شوید که وقتی دیگر مورد استفاده قرار نمیگیرند، آنها راunpersist.انکرها (Anchor) بین ARCore برای Jetpack XR و Jetpack SceneCore قابل تعامل هستند. میتوانید با استفاده از یک انکر، یک
AnchorEntityایجاد کنید یا اگر یک AnchorEntity از قبل دارید، میتوانیدgetAnchorبرای بازیابی انکر پشتیبان آن استفاده کنید.با استفاده از
hitTestتعاملات طبیعی کاربر را ارائه دهید. یک hitTest از یکRayبرای تعیین اینکه کدام محتواها را قطع میکند و برای ایجاد یکAnchorاز آن مکان استفاده میکند. انجام hitTest از یکInputEventرا در نظر بگیرید.
مشکلات شناخته شده
ممکن است بین فراخوانی
unpersistو حذف UUID آن از نتایج برگردانده شده توسطgetPersistedAnchorUuidsتأخیری وجود داشته باشد.createاعتبارسنجی نمیکند که سیستم منابع کافی برای بازگرداندن anchor های جدید را دارد. ایجاد تعداد بیش از حد anchor ممکن است منجر به خرابی شود.حفظ یک Anchor که قبلاً حفظ شده و حفظ نشده است، در حال حاضر پشتیبانی نمیشود.
استفاده در شبیهساز پشتیبانی میشود، اما ممکن است رفتار آن به پایداری اجرا روی یک دستگاه واقعی نباشد. به ویژه، فراخوانیهای
createممکن است با خطای کد بومی مواجه شوند و بلافاصله فعالیت را خاتمه دهند.در شرایط خاص، ممکن است هنگام فراخوانی
persistیکRuntimeExceptionبا پیام "Anchor was not persistent" به اشتباه صادر شود. در این شرایط، تابع همچنان موفق خواهد بود و anchor persistent خواهد شد. به عنوان یک راه حل، توصیه میکنیم فراخوانیpersistرا با یک بلوکtryبپوشانید.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-10-22 بهوقت ساعت هماهنگ جهانی.