Jetpack SceneCore
| جدیدترین بهروزرسانی | نسخه پایدار | نامزد انتشار | انتشار نسخه بتا | نسخه آلفا |
|---|---|---|---|---|
| ۲۱ اکتبر ۲۰۲۶ | ۱.۰.۰ | - | - | 1.1.0-alpha01 |
اعلام وابستگیها
برای افزودن وابستگی به XR SceneCore، باید مخزن Google Maven را به پروژهتان اضافه کنید. برای اطلاعات بیشتر، مخزن Maven در Google را بخوانید.
وابستگیهای مصنوعات موردنیازتان را در فایل build.gradle برای برنامه یا واحدتان اضافه کنید:
شیار
dependencies { implementation "androidx.xr.scenecore:scenecore:1.0.0-rc01" // Use to write unit tests testImplementation "androidx.xr.scenecore:scenecore-testing:1.0.0-rc01" }
کاتلین
dependencies { implementation("androidx.xr.scenecore:scenecore:1.0.0-rc01") // Use to write unit tests testImplementation("androidx.xr.scenecore:scenecore-testing:1.0.0-rc01") }
برای اطلاعات بیشتر درباره وابستگیها، به افزودن وابستگیهای ساخت مراجعه کنید.
بازخورد
بازخوردتان به بهبود Jetpack کمک میکند. اگر مشکل جدیدی پیدا کردید یا ایدهای برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبلاز ایجاد مشکل جدید، مشکلات موجود در این کتابخانه را بررسی کنید. با کلیک کردن روی دکمه ستاره میتوانید رأی خود را به مشکل موجود اضافه کنید.
برای اطلاعات بیشتر، سند Issue Tracker را ببینید.
نسخه ۱.۱
نسخه 1.1.0-alpha01
۲۱ اکتبر ۲۰۲۶
androidx.xr.scenecore:scenecore-*:1.1.0-alpha01 منتشر شده است. نسخه 1.1.0-alpha01 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
- میاناهای برنامهسازی کاربردی بهروزرسانی مش پویا (
MeshBuffer.createDynamic،MeshBuffer.updateVertexData،MeshBuffer.updateIndexData، و سازنده پویایCustomMesh.BuilderFromMeshData) برای پشتیبانی از بهروزرسانی دادههای رأس و نمایه در زمان اجرا اضافه شد. (Ia1ecb) - روشهای کمکی
VertexLayout.getBufferIndexبرای بازیابی آسان نمایه میانگیر برایVertexAttributeیاVertexBufferLayoutدادهشده اضافه شد. (I1a9e3) CustomMesh.boundsبه var تبدیل شد تا چارگوش محدودکننده بتواند بهطور پویا در زمان اجرا بهروز شود. (Ib0397)- APIهای پویانمایی
glTF(GltfAnimation،GltfModelEntity.getAnimations، وGltfModelEntity.stopAllAnimations) به عمومی/پایدار ارتقا داده شدند، درحالیکه تنظیمکنندهGltfAnimation.loop بهعنوان آزمایشی وGltfAnimationStartOptionsو start(options) بهعنوان آزمایشی و منسوخشده باقی ماندند. (Iacdae) -
stopAllAnimations()بهGltfModelEntityاضافه شد،GltfAnimation.start()بدون پارامتر شد، ویژگیهایloopوspeedبهGltfAnimationاضافه شد، وGltfAnimationStartOptions،start(options)، وseekTo(Duration)منسوخ شد. (I53105) - میاناهای برنامهسازی کاربردی
GltfModelEntityبهروزرسانی شد تاIllegalStateException(بهویژهEntity.DisposedException) را هنگام فراخوانی در موجودیتهای دورریختهشده مستند کند. I65a76f
رفع اشکالها
- وابستگی
androidx.lifecycle:lifecycle-runtimeبه نسخه ۲.۱۰.۰ بهروز شد. این نسخه برای اجرای بررسیهای lint زمان اجرای چرخه حیات بستهبندیشده با AGP نسخه 9.5.0-alpha04 یا جدیدتر لازم است. (I99bfd, b/556807521) - بهبود kdocs مربوط به
AudioOutputProviderبرای برجسته کردن این نکته که نباید با چند نمونهExoPlayerدوباره استفاده شود (I6b18e) - وابستگیهای غیرضروری به
impressاز پیمانههای مختلف XR برداشته شد. I84636c
نسخه 1.0
نسخه ۱.۰.۰
۲۱ اکتبر ۲۰۲۶
androidx.xr.scenecore:scenecore-*:1.0.0 منتشر شده است. نسخه ۱.۰.۰ حاوی این ثبتها است.
ویژگیهای اصلی نسخه ۱.۰.۰:
- Jetpack XR SceneCore اکنون پایدار است! SceneCore به شما امکان میدهد محتوای سهبعدی را که توسط موجودیتها تعریف شده است، نسبت به یکدیگر و محیط خود قرار دهید و مرتب کنید. با SceneCore میتوانید پانلهای دوبعدی و مدلهای سهبعدی را در صحنههای واقعیت مجازی و ترکیبی ایجاد، جایگذاری، و دستکاری کنید؛ محیطهای فضایی و منابع صدای فراگیر را مشخص کنید؛ و محتوای مجازی را به دنیای واقعی متصل کنید.
- برای اطلاعات بیشتر، به صفحه نمای کلی و مرجع میانای برنامهسازی کاربردی ما مراجعه کنید.
نسخه 1.0.0-rc02
۷ اکتبر ۲۰۲۶
androidx.xr.scenecore:scenecore-*:1.0.0-rc02 منتشر شده است. نسخه 1.0.0-rc02 حاوی این موارد ثبت است.
رفع اشکالها
- با برداشتن
perceptionRuntimeCacheدرSessionExt، نشت حافظه احتمالی برطرف شد و کد آن بازسازی شد تاPerceptionRuntimeمستقیماً از نمونهSessionبازیابی شود. (Ie35b1) - نشت احتمالی زمینه بااستفاده از
applicationContextبرای دستههای بومیOpenXRبرطرف شد تا اطمینان حاصل شود که زمان اجرای بومی به زمینهActivityارجاع نمیدهد. (Ie35b1) - شرایط رقابت در
XrInstanceManagerبا معرفی همگامسازی مناسب و قفل کردن مقداردهی اولیه برطرف شد. (Ie35b1) ReferenceCleanerرا برای پشتیبانی از لغو ثبت کنشهای پاکسازی اصلاح کردیم و مطمئن شدیم که کنشهای پاکسازیEntityبهطور صریح درطولdispose()اجرا میشوند تا از اجرای تکراری درطول جمعآوری زباله جلوگیری شود. (Ie35b1)- نشت حافظه در
Sceneبا برداشتنsceneCacheدرSessionExtو بازسازی کدSceneبرای واکشی مستقیم نمونه ازsessionConnectorsبرطرف شد. (Ie35b1)
نسخه 1.0.0-rc01
۹ سپتامبر ۲۰۲۶
androidx.xr.scenecore:scenecore-*:1.0.0-rc01 منتشر شده است. نسخه 1.0.0-rc01 حاوی این موارد ثبت است.
تغییرات میانای برنامهسازی کاربردی
xr:scenecore:scenecore-openxrکتابخانه اضافه شد. (Ic49f2)- چندین میانای برنامهسازی کاربردی منسوخشده پیشاز انتشار نسخه پایدار ۱.۰.۰ برداشته شد.
رفع اشکالها
- اشکال نشت حافظه که در آن مرجع «فعالیت» ممکن بود هنگام ازبین رفتن «فعالیت» توسط سیستم حفظ شود برطرف شد. (I6dcd7)
تغییرات رفتار
- خروجی logcat از SceneCore برداشته شد. (I10c3c)
نسخه 1.0.0-beta02
۱۲ اوت ۲۰۲۶
androidx.xr.scenecore:scenecore-*:1.0.0-beta02 منتشر شده است. نسخه 1.0.0-beta02 حاوی این ارسالها است.
رفع اشکالها
- اگر نهاد اصلی جمعآوری زباله شده باشد،
toMoveEvent()مقدارnullرا برمیگرداند. (Ia7a1b)
نسخه 1.0.0-beta01
۱۵ ژوئیه ۲۰۲۶
androidx.xr.scenecore:scenecore-*:1.0.0-beta01 منتشر شده است. نسخه 1.0.0-beta01 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
- میاناهای برنامهسازی کاربردی
GltfAnimationوSpatialGltfModelAnimationبهعنوان آزمایشی علامتگذاری شدهاند. برخیاز ویژگیها به گیرنده تبدیل شدند. (I8d689، b/524771027) - روش کارخانهای عمومی
MovableComponent.createTrackingMovableبرداشته شد. (I00912، b/477169015) - Session.create به تابع تعلیق تبدیل شد. (I5d27f)
ActivitySpaceوAnchorSpaceاکنون یک کلاسSpaceEntityمشترک را گسترش میدهند که حاوی رفتار مشترک برای نهادهایی است که موقعیت آنها توسط سیستم کنترل میشود (I506ec، b/513619219)- Updated
AnchorEntityto be calledAnchorSpace(Ifa95e, b/513619219) - میانای برنامهسازی کاربردی آزمایشی عمومی
SoundEffectPoolComponentTesterرا ارائه میدهد. (I87df7، b/498104417) - پارامتر اختیاری
cornerRadiusبه سازندهSurfaceEntity.Shape.Quadاضافه شد و ویژگیcornerRadiusعمومی شد. اکنون توسعهدهندگان میتوانند هنگام ایجاد شکل چهارگوش، شعاع گوشه را مشخص کنند تا بومهایSurfaceEntityبا گوشههای گرد ارائه شود و شعاع چهارگوشهای موجود را جستجو کنند. (Ia7809، b/474681085) - میانای برنامهسازی کاربردی آزمایش عمومی
SpatialAudioTrackBuilderTester،SpatialAudioTrackTesterوSceneCoreTestRule.getTesterسربارگذاری را ارائه میدهد. (I378c6، b/496333938) - افزودن لغوهای تخصصی
toString()برای تعدادی از انواع ARCore. این انواع برای ارائه اطلاعات بیشتر به توسعهدهندگان برای اهداف اشکالزدایی درنظر گرفته شدهاند و برای استفاده در برنامههای تولیدی یا ارسالشده درنظر گرفته نشدهاند.
نسخه 1.0.0-alpha16
۱۷ ژوئن ۲۰۲۶
androidx.xr.scenecore:scenecore-*:1.0.0-alpha16 منتشر شده است. نسخه 1.0.0-alpha16 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
- سربارگذاریهای
addVertexData،setIndexData، وaddSubsetبهCustomMesh.BuilderFromMeshDataوCustomMesh.BuilderFromMeshBufferاضافه شد. این سربارگذاریها به توسعهدهندگان اجازه میدهد دادهها و پارامترهای خام را مستقیماً (مثلاًByteBuffer،offset،size،topology،indexOffset،indexCount) بدون نیاز به پیچیدن آنها در اشیای واسطه مانندByteBufferRegionیاMeshSubsetارسال کنند. (I84d5c) - نام
Scene.requestFullSpaceMode()وScene.requestHomeSpaceMode()بهترتیب بهrequestFullSpace()وrequestHomeSpace()تغییر کرده است. سایر روشها و اسنادی که به «حالت فضای خانه» و «حالت فضای کامل» اشاره میکنند نیز بهطور مشابه بهروز شدهاند. (I45751) - Provides public test API
PanelEntityTesterandMainPanelEntityTester(I961e4) - درحال افزودن دارایی
pointSourceParamsبهSoundEffectPoolComponent(I4a750) - Provides public test API
MovableComponentTester(I0c972) - Provides public test API
PointerCaptureComponentTester(Ic0d4f) - Provides public test API
ActivityPanelEntityTester(I837c4) - Provides public test API
ResizableComponentTester(I0a3a4) - Provides public test API
BoundsComponentTester.(Iefd53) - میانای برنامهسازی کاربردی آزمایشی عمومی
SpatialMediaPlayerTester(Ia3e09) را ارائه میدهد - Provides public test API
SpatialEnvironmentTester(Icf60f) - میانای برنامهسازی کاربردی آزمایشی عمومی
GltfModelTesterوSceneCoreTestRule.getGltfModelTesterرا ارائه میدهد. (I33fcb) - میانای برنامهسازی کاربردی آزمایشی عمومی
InteractableComponentTesterرا ارائه میدهد. (Ia7096) - میانای برنامهسازی کاربردی آزمایشی عمومی
SurfaceEntityTesterرا ارائه میدهد. (Ic0740) - میانای برنامهسازی کاربردی آزمایشی عمومی
GltfModelEntityTester،TestGltfModelNode، وTestGltfAnimationرا ارائه میدهد. (I72c4d) - میانای برنامهسازی کاربردی آزمایشی عمومی
SceneTesterوSceneCoreTestRule.sceneTesterرا ارائه میدهد. (Ib4ec5) - میانای برنامهسازی کاربردی آزمایش عمومی
PerceptionSpaceTesterوSceneCoreTestRule.perceptionSpaceTesterرا ارائه میدهد. (Icf739) - میانای برنامهسازی کاربردی آزمایشی عمومی
MeshEntityTesterرا ارائه میدهد. (I63801) - Provides public test API
ImageBasedLightingAssetTesterandSceneCoreTestRule.getTesteroverloads. (I57ec4) - میانای برنامهسازی کاربردی آزمایشی عمومی
TextureTesterرا ارائه میدهد (Ia865b) - میانای برنامهسازی کاربردی آزمایش عمومی
PositionalAudioComponentTester(Icd96e) را ارائه میدهد - Provides public test API
SpatialSoundPoolTester(Ia3531) - میانای برنامهسازی کاربردی آزمایشی عمومی
SoundEffectPoolTesterرا ارائه میدهد (If349a) - میانای برنامهسازی کاربردی آزمایشی عمومی
ActivitySpaceTesterوSceneCoreTestRule.activitySpaceTesterرا ارائه میدهد. (I2d5c2) - Provides public test API
SpatialWindowTester(I41837) - Provides public test API
AnchorEntityTester(I68404) - میانای برنامهسازی کاربردی آزمایش عمومی
SceneCoreTestRuleرا ارائه میدهد. (Ic72d3) - کلاس
PixelDensityاضافه شد و ازطریقScene#virtualPixelDensityنمایش داده شد تا نسبت پیکسل بر متر مبتنی بر سختافزار برای نگاشت دقیق ابعاد فیزیکی درActivitySpaceارائه شود. (I0e3ac) - میاناهای برنامهسازی کاربردی عمومی برای ایجاد و ارائه «مشهای سفارشی» اضافه شد. (I7ad2f)
VertexLayoutAPI بهروز شده است تا از فهرستی ازVertexBufferLayoutاستفاده کند، که در آن هرVertexBufferLayoutمشخصههای درون یک میانگیر رأس را توصیف میکند. این کار امکان چیدمان انعطافپذیرتر دادههای رأس را فراهم میکند، ازجمله ویژگیهای درهمتنیده با گامها و انحرافهای سفارشی. (Ic426b)-
MovableComponent.createTrackingMovableرا برای تبدیل «قابلردیابی ARCore» به حالت مربوط به «فضای فعالیت» ارائه میدهد. (I12249) - مقدار پیشفرض برای والد در
Entity.createبه null بهروزرسانی شده است. (Ic3145) Entityبهروزرسانی شد تا بهجای میانای کلاس باشد و اکنون کلاس پایه برای همه انواع «نهاد» است. بهعنوان بخشی از این تغییر،BaseEntityبرداشته شد. (I7fbc9)-
GltfModel،ExrImage، وImageBasedLightingAssetاکنونAutoCloseableرا پیادهسازی میکنند تا امکان مدیریت منابع اصطلاحی بااستفاده از بلوکuseKotlin فراهم شود. (I1ac79) - کلاس
ImageBasedLightingAssetبرای جایگزینیExrImageجهت تعریف نورپردازی محیط فضایی معرفی شد. ExrImageمنسوخ شده است و از API عمومی برداشته شده است.SpatialEnvironmentPreferenceبهروز شده است تا ازImageBasedLightingAssetاستفاده کند. (I6c92a) - پارامتر
skyboxدرSpatialEnvironmentبهimageBasedLightingAssetتغییر نام داده شد تا هدف آن بهتر منعکس شود، و توضیح داده شد که بافتهای بصری جعبه آسمان باید در پارامتر هندسه گنجانده شوند. (I24d4a) - نهادهای فضایی اکنون از تراکم دستگاه پایداری برای محاسبات پیکسل به متر در سطوح ۱ و ۲ Spatial API استفاده میکنند تا از اندازه یکسان صرفنظر از تغییرات تراکم نمایشگر سیستم اطمینان حاصل شود. (I37051)
نسخه 1.0.0-alpha15
۱۹ مه ۲۰۲۶
androidx.xr.scenecore:scenecore-*:1.0.0-alpha15 منتشر شده است. نسخه 1.0.0-alpha15 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
Entity.dispose()اکنون بهعنوان API عمومی برداشته شده است. بهجای فراخوانیdispose()در نمونههای Entity، برنامهها میتوانند با تنظیمparentرویnullو با پاک کردن هرگونه ارجاع قوی به آن نمونهها، نمونهها را قابلپاکسازی کنند. (I396c9)- روشهای
set/clearOnLoadCompleteListenerSoundEffectPoolحذف شده است. درعوض ازadd/removeLoadCompleteListenerاستفاده کنید. (Iae78d) -
set/clearSpatialVisibilityChangedListenerصحنه باadd/removeSpatialVisibilityChangedListenerجایگزین شد. (I67dff) - همه روشهای SceneCore
add/removeOnFooListenerبهadd/removeFooListenerتغییر نام دادهاند وOnاز نام حذف شده است. (Ibe50b) - روشهای
AnchorEntity.setOnOriginChangedListenerوAnchorEntity.setOnStateChangedListenerبا روشهایadd/removeFooListenerجایگزین شدهاند تا از چند «شنونده» همزمان پشتیبانی شود. (I13749) - نام
AnchorEntity.State.TIMEDOUTبهState.TIMED_OUTتغییر کرد. (Id2b8d) - Component API برای بهبود ایمنی و توسعهپذیری بازسازی کد شده است.
Componentاکنون یک کلاس انتزاعی است. روشهایonAttach()وonDetach()اکنونprotectedهستند تا از تماسهای مستقیم جلوگیری شود. لطفاً ازEntity.addComponent()وEntity.removeComponent()برای مدیریت چرخههای حیات مؤلفه استفاده کنید. (Id04e8) - ثابتهای
PlaneSemanticTypePlaneOrientationSceneCore از Ints به انواع سفارشی منتقل شدهاند. ثابتهایANYآنها برداشته خواهد شد، مشتریان باید بهجای آن همه ثابتهای موردنظر را بهطور صریح فهرست کنند، یا از ثابتهای «مجموعه» تغییرناپذیر.ALLجدید استفاده کنند. روش کارخانهAnchorEntityاکنون بهجای یک مقدار، مجموعهای از این نوعها را میپذیرد. (Ib1033) - پشتیبانی از پویانمایی اسکلتی (پوستگذاری) به Custom Mesh API آزمایشی اضافه شد. توسعهدهندگان اکنون میتوانند با مشخص کردن
boneCountهنگام ایجادMeshEntityو بهروزرسانی پویانمایی بهطور همزمان بااستفاده ازMeshEntity.setBoneTransforms()، مشهای سفارشی را پویانمایی کنند. (Id8ba2، b/496692490) CustomMeshAPI آزمایشی معرفی شد. توسعهدهندگان اکنون میتوانند بااستفاده ازCustomMesh،MeshBuffer، وMeshEntityبهصورت برنامهنویسیشده هندسه سهبعدی در صحنههایشان ایجاد و رندر کنند. (I94617)-
androidx.xr.scenecore.SpatializerConstants.SourceType.SOURCE_TYPE_SOUND_FIELDحذف شد. درعوض ازSourceType.SOUND_FIELDاستفاده کنید. (Ia68b9) - Adding spatial audio components:
PositionalAudioComponent,SoundEffectPoolComponentandSoundFieldAudioComponent(Ieda89) -
AnchorEntity.getAnchorباAnchorEntity.anchorجایگزین شد و اکنون وقتیAnchorEntityازAnchorARCore ایجاد شده باشد،Anchorبرمیگرداند (I5c7c8) - مقدار پیشفرض برای پارامتر
parentدر روشهای کارخانهActivityPanelEntity،GltfModelEntity،GroupEntity،PanelEntity، وSurfaceEntityازActivitySpaceبهnullتغییر کرده است. برای پیوست کردن موجودیت به گراف صحنه و قابلمشاهده کردن آن، توسعهدهندگان اکنون باید بهطور صریح والد آن را درطول نمونهسازی یا ازطریقEntity.parent = ...تنظیم کنند (Ie7cc1)
رفع اشکالها
SceneCoreاکنون بهطور خودکار نمونههایEntityرا وقتی که بهصورت فانتوم قابلدسترسی میشوند بازیابی میکند و نیاز توسعهدهندگان به فراخوانی صریحdispose()برای آزاد کردن منابع را برطرف میکند. برای اطمینان از اینکه نمونه [Entity] بهدرستی بازیابی میشود، توسعهدهندگان باید:- با تنظیم
parentآن رویnull، آن را از گراف صحنه جدا کنید. - همه ارجاعهای قوی به نمونه را در کد خود رها کنند.
- نکته درباره انواع نهادهای خاص: برای نهادهایی که نمیتوانند والد داشته باشند (مانند
AnchorEntity)، توسعهدهندگان باید مرجع قوی را درحین استفاده از نمونه حفظ کنند. اگر همه مرجعها واگذار شوند، این نمونهها به فانتوم قابلدسترسی تبدیل میشوند و بهطور خودکار بازپسگیری خواهند شد. (I83fe4)
- با تنظیم
- قوانین نگهداری Proguard برای همه کتابخانههای
SceneCoreمحدود شده است. (I98447)
مشکلات شناختهشده
- پیوست کردن
PositionalAudioComponentبهEntityبا نمونه غیرفعالExoPlayerباعث ازکارافتادن میشود. وقتی ExoPlayer متوقف است،setPointSourceParamsرا فراخوانی نکنید یا مؤلفههای صدای فضایی را متصل/جدا نکنید. این مشکل در نسخه پخش بعدی برطرف خواهد شد.
نسخه 1.0.0-alpha14
۶ مه ۲۰۲۶
androidx.xr.scenecore:scenecore-*:1.0.0-alpha14 منتشر شده است. نسخه 1.0.0-alpha14 حاوی این کدهای تائید است.
تغییرات میانای برنامهسازی کاربردی
-
TrackingStateوVpsAvailabilityResultبهandroidx.xr.arcore packageمنتقل شدهاند و انواع موجود درandroidx.xr.runtimeاکنون منسوخ شدهاند. (Ic7930، b/480462213) - نام
Plane.TypeبهPlaneTypeتغییر کرد. (I8c90c، b/482675376) - نام
Plane.LabelبهPlaneLabelتغییر کرد. (Ic6b67، b/482675376) -
androidx.xr.runtime.FieldOfViewمنسوخ شده است. درعوض ازandroidx.xr.runtime.math.FieldOfViewاستفاده کنید. (Ia01a0، b/480233045) - نام
Matrix4.poseبهMatrix4.toPose()تغییر کرد. خصوصیت pose اکنون منسوخ شده است. (I329b4، b/493383490) - نام
HandJointTypeمقدار enum تغییر کرد. (Ifbc83، b/482670596) Component.onAttachوonDetachرا بهعنوان میانای برنامهسازی کاربردی عمومی نمایش دهید تا پیادهسازیهای سفارشیComponentمجاز شود. (I0ca1f)- Adding spatial audio components (I39ddd, b/489421980, b/436642086, b/436642499)
- برداشتن نهاد از
PointSourceParams. Instead the Entity will be used directly withSpatialAudioTrack,SpatialSoundPool, andSpatialMediaPlayer(Ib3685, b/489421980, b/436634048) - نام
DeviceTrackingMode.LAST_KNOWNبهSPATIAL_LAST_KNOWNتغییر کرد (با یک بازگشت منسوخشده)،INERTIAL_LAST_KNOWNبرای ردیابی 3DoF اضافه شد، وTRACKING_DEGRADEDبهTrackingStateاضافه شد. (Ie661c، b/445466590) -
GroupEntityمنسوخ شد. برای داشتن «نهاد» با عملکرد «نهاد» پایه،Entity.createرا فراخوانی کنید که میانای «نهاد» را برمیگرداند. (I4c450، b/473867483) - میانای برنامهسازی کاربردی
XrLogاضافه شد. برای فعال کردن ثبت گزارش در JetpackXR،XrLog.isEnabledرا رویtrueتنظیم کنید و برای تنظیم سطح گزارش ازXrLog.Levelاستفاده کنید. (I76a1f، b/463460895، b/487378441)
رفع اشکالها
Scene.keyEntityاکنون بهطور پیشفرض بهmainPanelEntityتبدیل شده است. (I6a3ef)
نسخه 1.0.0-alpha13
۲۵ مارس ۲۰۲۶
androidx.xr.scenecore:scenecore-*:1.0.0-alpha13 منتشر شده است. نسخه 1.0.0-alpha13 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
- پرچم
unscaledGravityAlignedActivitySpaceازSession.createبرداشته شد.ActivitySpaceاکنون همیشه بدون مقیاس و همراستا با جاذبه است. (If6f11، b/458173423) - توابع منسوخشده
setMaterialOverrideوclearMaterialOverrideازGltfModelEntityبرداشته شد که اکنون درGltfModelNodeجداگانه فراخوانی میشوند. (I2e5d2) -
transformPixelCoordinatesToLocalPositionوtransformNormalizedCoordinatesToLocalPositionبهPanelEntityاضافه شد و روشهای آزمایشی معادل که قبلاً بهجای موقعیتهایVector3، حالتها را برمیگرداندند برداشته شد. (Ib6960، b/460123106، b/458333591) GltfAnimationمیانای برنامهسازی کاربردی برای کنترل پویانماییهای glTF درSceneCoreاضافه شد. (I2c172، b/466065486، b/465819070، b/465818617)- Renamed
ScenePose.activitySpacePosetoScenePose.poseInActivitySpace(I8f175, b/427822261) - Added Scenecore Projected Runtime Implementation (I9c4ab, b/476440158)
- هنگام تغییر اندازه موجودیت پانل اصلی، ممکن است موقعیت آن به مبدأ
ActivitySpaceتغییر کند. هیچ راه حلی بهجز تغییر موقعیت پانل بهصورت دستی یا برنامهای به مکان اصلی آن وجود ندارد. این اشکال در نسخهٔ پخش بعدی برطرف خواهد شد. (b/489427007). - در برخی موارد، ممکن است امکان
MovableComponentبرایSurfaceEntityو دیگر انواع نهادهای غیرپانلی نشان داده نشود. تنظیم صریحMovableComponent.sizeباعث میشود که این امکان ظاهر شود. این اشکال در نسخه پخش آتی برطرف خواهد شد (b/490983469).
نسخه 1.0.0-alpha12
۲۵ فوریه ۲۰۲۶
androidx.xr.scenecore:scenecore-*:1.0.0-alpha12 منتشر شده است. نسخه 1.0.0-alpha12 حاوی این ارسالها است.
مشکلات شناختهشده
- نهادهای لنگرانداخته ممکن است پساز چند ثانیه از موقعیت لنگرانداخته خود به مبدأ فضای فعالیت منتقل شوند.
- ممکن است برنامهها هنگام ایجاد
SurfaceEntityنمونه ازکار بیفتند. این مشکل درandroidx.xr.scenecore:scenecore-*:1.0.0-alpha13و نسخههای بعدی برطرف شده است. برنامههای تحتتأثیر قرارگرفته باید به جدیدترین نسخهها بهروزرسانی شوند.
تغییرات میانای برنامهسازی کاربردی
- نام
ActivitySpace.addOnSpaceUpdatedListenerوActivitySpace.removeOnSpaceUpdatedListenerبهaddOnOriginChangedListenerوremoveOnOriginChangedListenerتغییر کرده است. نامAnchorEntity.setOnSpaceUpdatedListenerبهsetOnOriginChangedListenerتغییر کرد. (I5d8fb) - ویژگی نام عمومی به
FakeEntityاضافه شد و نما درFakePanelEntityعمومی شد. (Ifa1f9)
رفع اشکالها
- محاسبات تراکم پیکسل در ایمیجهای سیستم جدیدتر اصلاح شد (I57d04)
نسخه 1.0.0-alpha11
۲۸ ژانویه ۲۰۲۶
androidx.xr.scenecore:scenecore-*:1.0.0-alpha11 منتشر شده است. نسخه 1.0.0-alpha11 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
- نام
PerceivedResolutionResult.InvalidCameraViewبهPerceivedResolutionResult.InvalidRenderViewpointتغییر میکند زیرا میاناهای برنامهسازی کاربردیgetPerceivedResolutionاکنون بهجایCameraViewScenePoseبه میانای برنامهسازی کاربردیRenderViewpointARCore متکی هستند. این نام پیادهسازی جدید را بهتر منعکس میکند. (I8c967، b/446989745، b/419311998) - روشهای
PanelEntity/SurfaceEntity.getPerceivedResolutionاکنونRenderViewpointارائهشده توسط توسعهدهنده را بهعنوان آرگومان میپذیرند. قبلاً، زمان اجرا بهطور دلخواهRenderViewpointاستفادهشده در محاسبه وضوح درکشده را انتخاب میکرد. (I8c967، b/446989745، b/419311998) -
SpatialUser،ScenePose.Head، وScenePose.CameraViewبرداشته شدند. عملکرد این APIها توسط APIهایArDeviceوRenderViewpointدر ARCore برای Jetpack XR پوشش داده میشود. برای بهدست آوردنScenePoseمربوط به سر یا چشم چپ یا راست کاربر، توسعهدهندگان میتوانند ازPerceptionSpace.getScenePoseFromPerceptionPoseبا ژست مناسب بهدستآمده بااستفاده از ARCore APIs استفاده کنند. (I2f69c، b/446989745)
نسخه 1.0.0-alpha10
۳ دسامبر ۲۰۲۵
androidx.xr.scenecore:scenecore-*:1.0.0-alpha10 منتشر شده است. نسخه 1.0.0-alpha10 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
-
transformPixelCoordinatesToPoseوtransformNormalizedCoordinatesToPoseبهPanelEntityاضافه شد (I462b3) - کلاس کمکی Utils به زمان اجرای
SceneCoreبراساس منطق درSceneCoreاضافه شد (I570b9)
رفع اشکالها
- رفع خرابی احتمالی که ممکن است هنگام ازبین رفتن «جلسه» و دریافت
SpatialModeChangeEventرخ دهد (If44e8) - اشکالی که میتوانست باعث ایجاد
IllegalStateExceptionهنگام خروج یا ورود مجدد به «فعالیت» شود برطرف شد. (Ibff1c)
نسخه 1.0.0-alpha09
۱۹ نوامبر ۲۰۲۵
androidx.xr.scenecore:scenecore-*:1.0.0-alpha09 منتشر شده است. نسخه 1.0.0-alpha09 حاوی این ارسالها است.
ویژگیهای جدید
- یک API برای بازیابی
ScenePoseاضافه میکند که ترکیببندی حالت مبدأ فضای ادراک و حالتی را نسبت به مبدأ فضای ادراک نشان میدهد. (I5b50a) - تابع
getGravityAlignedPoseاضافه شد. ژست همراستا با جاذبه، «گام» و «چرخش» را نادیده میگیرد. (I5ae21) AnchorEntity.Stateنوع ثابت از Ints به زیرنوعهای State تغییر کرده است. (Ib0c49)-
getChildren()به میانای «نهاد» اضافه شد. چرخه حیاتMainPanelEntityبهروز شد. (Ia69d6)
تغییرات میانای برنامهسازی کاربردی
PointerCaptureComponent.PointerCaptureStateنوع ثابت از Ints به زیرنوعهایPointerCaptureStateتغییر کرده است. (Ic888a)Scene.spatialCapabilitiesاکنون از نوعSet<SpatialCapability>است، نه فیلد Int. نام ثابتهایSpatialCapabilityتغییر کرده است. (I9c109)- نام
SurfaceEntityنوع ثابت تغییر کرده است و از Ints به زیرنوعهایSurfaceEntityتغییر کردهاند. (I419ed) - نام
SpatializerConstantنوع ثابت تغییر کرده است و از Ints به زیرنوعهایSpatializerConstantتغییر کردهاند. (Ia0e18) - نام
TextureSamplerنوع ثابت تغییر کرده است و از Ints به زیرنوعهایTextureSamplerتغییر کردهاند. (I44078) SpatialVisibilityنوع ثابت از Ints بهSpatialVisibilityزیرنوع تغییر کرده است. (I70739)- نام انواع ثابت
ResizeEvent.ResizeStateتغییر کرده است و از Ints به زیرنوعهایResizeStateتغییر کردهاند. (I384d5) - نام انواع ثابت
InputEventتغییر کرده است و از Ints به ارثبری از نوع محصورکننده مربوطه تغییر کرده است. (I82817) GltfModelEntity.AnimationStateنوع ثابت از Ints به زیرنوعهایAnimationStateتغییر کرده است. (I24f4e)- نام
AlphaModeنوع ثابت تغییر کرده است و از Ints به زیرنوعهایAlphaModeتغییر کردهاند. (I27b56) - انواع ثابت
Spaceاز Ints به زیرنوعهای Space تغییر کرده است. (I9255b) ScenePose.hitTestو روشهای مرتبط اکنون اگر تقاطعی پیدا نشود، بهجایHitTestResultباhitPositionتهی،nullرا برمیگردانند. HitTestResult.hitPositionدیگر نمیتواند تهی باشد. (I1400a)- ارجاعهای
ActivityPoseبهScenePoseتغییر کرد. (I7fe43)
نسخه 1.0.0-alpha08
۲۲ اکتبر ۲۰۲۵
androidx.xr.scenecore:scenecore-*:1.0.0-alpha08 منتشر شده است. نسخه 1.0.0-alpha08 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
- Renamed
ActivityPanelEntity.moveActivitytotransferActivity(I273c5, b/430332856)
رفع اشکالها
-
:xr:scenecore:scenecore-spatial-renderingو:xr:scenecore:scenecore-spatial-coreبهعنوان وابستگی پیادهسازی:xr:scenecore:scenecoreاضافه شدند (I6ab65، b/447000520) - اگر پساز تخریب جلسه به
session.sceneدسترسی پیدا شود، استثنا ایجاد میشود. (I77e6f)
نسخه 1.0.0-alpha07
۲۴ سپتامبر ۲۰۲۵
androidx.xr.scenecore:scenecore:1.0.0-alpha07، androidx.xr.scenecore:scenecore-guava:1.0.0-alpha07، و androidx.xr.scenecore:scenecore-testing:1.0.0-alpha07 منتشر شدهاند. نسخه 1.0.0-alpha07 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
- Renamed
fixedAspectRatiotoisFixedAspectRatioEnabledand made it a boolean property (I5c4e8, b/440588971) ScenecoreFakes اکنون در واحدxr:scenecore:scenecore-testingقرار دارد. (Idd951)- Renamed
shouldAutoHideContenttoisAutoHideContentWhileResizingEnabledandshouldAlwaysShowOverlaytoisAlwaysShowOverlayEnabled(I97c36, b/432335421) - ثابتهای
SceneCoreTextureSamplerبرای خوانایی بهروزرسانی شد، برای مثالTextureSampler.MinFilter.LINEARاکنونTextureSampler.MIN_FILTER_LINEARاست (Ib159c) - تنظیمکننده
setKeyEntityصحنه در متغیرkeyEntityادغام شده است. تنظیمkeyEntityروی «نهاد» غیرقابلحرکتی مثلAnchorEntity، بهجای برگرداندن مقدار بولی نادرست،IllegalArgumentExceptionرا برمیگرداند. (I62080، b/428721695، b/422215745) - متغیر
SpatialModeChangeListenerصحنه باsetSpatialModeChangedListenerجایگزین شد. بهجایSpatialModeChangedListener،Consumer<SpatialModeChangeEvent>را میپذیرد.setSpatialModeChangedListenerاکنون میتواند بهطور اختیاری Executor را بپذیرد. (I62080، b/428721695، b/422215745) - پارامتر
bundleازActivityPanelEntity.startActivityبرداشته شد (I64344، b/430332856، b/430333040) - نام
SpatializerConstants.SOURCE_TYPE_BYPASSبهSpatializerConstants.SOURCE_TYPE_DEFAULTتغییر کرد. (Ifc7fe، b/422215565) SpatialSoundPool.PLAY_FAILEDثابت اضافه شد. (Ifc7fe، b/422215565)- آرگومانهای پیشفرض به روشهای
SpatialSoundPool.playاضافه شد. (Ifc7fe، b/422215565) - مقدار برگشتی تنظیمکنندهها در
SpatialAudioTrackBuilderبرداشته شد. (Ifc7fe، b/422215565) - تغییرات SurfaceEntity
-
SurfaceEntity.CanvasShapeنامShapeرا تغییر داد -
SurfaceEntity.CanvasShape.Vr180HemisphereنامHemisphereرا تغییر داد -
SurfaceEntity.CanvasShape.Vr360SphereنامSphereرا تغییر داد -
SurfaceEntity.EdgeFeatheringParams.SmoothFeatherنامRectangleFeatherرا تغییر داد -
SurfaceEntity.EdgeFeathingParams.SolidEdgeنامNoFeatheringرا تغییر داد -
SurfaceEntity.ContentSecurityLevelنامSurfaceProtectionرا تغییر داد SurfaceEntity.ContentSecurityLevel.{values}پیشوندSURFACE_PROTECTION_را اضافه کرد.SurfaceEntity.SuperSampling.{$values}پیشوندSUPER_SAMPLING_را اضافه کردSurfaceEntity.StereoMode.{values}پیشوندSTEREO_MODE_را اضافه کردSurfaceEntity.ContentColorMetadata.maxCLLrenamedmaxContentLightLevel(I7eb5f, b/422216050, b/427529950)
-
- Renamed
launchActivitytostartActivity(I7db90, b/430332856) -
Scene.activitySpaceRootحذف شد. درعوض ازScene.activitySpaceاستفاده کنید. (I05ee8، b/378706624، b/422215745) -
configureBundleForFullSpaceModeLaunchوconfigureBundleForFullSpaceModeLaunchWithEnvironmentInheritedبهترتیب بهcreateBundleForFullSpaceModeLaunchوcreateBundleForFullSpaceModeLaunchWithEnvironmentInheritedتغییر نام داده شدند و بهعنوان روشهای سطح بالا به فایل LaunchUtils.kt منتقل شدند و Session را بهعنوان پارامتر اول میگیرند (I64a2c، b/437186050) GroupEntityfactory اکنون بهجای Entity، نوعGroupEntityرا برمیگرداند. (I66042)
رفع اشکالها
- وقتی از نمونه نهاد پساز دور انداختن استفاده میشود،
IllegalStateExceptionرا دور بیندازید. (I90990، b/427314036، b/432063442)
نسخه 1.0.0-alpha06
۱۳ اوت ۲۰۲۵
androidx.xr.scenecore:scenecore:1.0.0-alpha06، androidx.xr.scenecore:scenecore-guava:1.0.0-alpha06، و androidx.xr.scenecore:scenecore-testing:1.0.0-alpha06 منتشر شدهاند. نسخه 1.0.0-alpha06 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
- Unrestrict
SceneCore'sBaseEntityandBaseScenePoseAPIs (88c0ff6)
نسخه 1.0.0-alpha05
۳۰ ژوئیه ۲۰۲۵
androidx.xr.scenecore:scenecore-guava:1.0.0-alpha05، androidx.xr.scenecore:scenecore-testing:1.0.0-alpha05، و androidx.xr.scenecore:scenecore:1.0.0-alpha05 منتشر شدهاند. نسخه 1.0.0-alpha05 حاوی این ارسالها است.
ویژگیهای جدید
- Perceived Resolution API به «نهادهای پانل» و
SurfaceEntitiesاضافه شد. (I118f6) PerceivedResolutionروشهای Callback به Scene.kt اضافه شد تا وضوح درکشده پانل اصلی فعالیت در HSM را پایش کند. (I58084)SurfaceEntity- پشتیبانی برای درخواست نمونهبرداری عالی در زمان ایجاد به برنامه اضافه شد. این کار به برنامهها اجازه میدهد از فیلتر نمونهبرداری فوقالعاده برای ضدپلگی استفاده کنند. (I06913)- دارایی
recommendedContentBoxInFullSpaceبهActivitySpaceاضافه شد. این ویژگی چارگوش توصیهشدهای را برای قرار دادن محتوا در «حالت فضای کامل» برمیگرداند. (I4cd6f) - سازنده سربارگذاریشده برای اصلاحگر قابلجابهجایی ارائه شد که امکان لنگراندازی را فراهم میکند. (Ic0c70)
تغییرات میانای برنامهسازی کاربردی
تغییرات گستردهای در API برای SceneCore در این نسخه انجام شده است. نام چندین کلاس تغییر کرده است و/یا به پیمانههای مختلفی منتقل شدهاند، و اکثر روشهای getter/setter با ویژگیهای Kotlin جایگزین شدهاند. اگرچه انتظار داریم تا اولین انتشار نسخه بتا، تغییرات مخرب API در آینده رخ دهد، اما این تغییرات به اندازه گذشته مختلکننده یا متعدد نخواهند بود.
- کلاسها و میاناهای زیر تغییر نام دادهاند و/یا منتقل شدهاند:
androidx.xr.scenecore.PixelDimensionsبهandroidx.xr.runtime.math.IntSize2d؛androidx.xr.scenecore.Dimensionsبهandroidx.xr.runtime.math.FloatSize3d؛androidx.xr.scenecore.ActivityPoseبهScenePose،androidx.xr.scenecore.ContentlessEntityبهGroupEntity،androidx.xr.scenecore.PlaneTypeبهPlaneOrientation؛androidx.xr.scenecore.PlaneSemanticبهPlaneSemanticType. (Ifd405)(I3b622) (If534d) - تعدادی از تنظیمکنندههای ویژگیهای
Sceneخصوصی شدهاند؛ این تنظیمکنندهها برای تغییر توسط مشتریانSceneCoreدرنظر گرفته نشده بودند:activitySpace،activitySpaceRoot،mainPanelEntity،perceptionSpace،spatialCapabilities،spatialEnvironment، وspatialUser. (I2f506) - در Entity: موارد زیر به ویژگیها تغییر کرد:
get/setParent()،setContentDescription؛Entity.is/setHidden()منسوخ شد، بهجای آن ازEntity.is/setEnabledاستفاده کنید. (Ibc4c6) - کلاس
androidx.xr.scenecore.BasePanelEntityبرداشته شد، درعوض مستقیماً ازPanelEntityاستفاده کنید. گیرندهها و تنظیمکنندهها برایPanelEntityبا ویژگیها جایگزین شد. خصوصیتPanelEntity.sizeازFloat3dSizeبهFloat2dSizeتغییر کرد. روش منسوخشدهandroidx.xr.scenecore.PanelEntity.getPixelDimensionsبرداشته شد، بهجای آن ازgetSizeInPixelsاستفاده کنید. (Icc174) -
Runnableجایگزینandroidx.xr.scenecore.OnSpaceUpdatedListenerشد. (I19308) -
SpatialUser.getCameraViews()با دارایی جایگزین شد. (Ib0cc5) برایExrImageوGltfModel:، روشهایcreateرا به توابع تعلیق تغییر دادیم؛ پارامترهای ایجاد را اصلاح کردیم تا بهجایString،UriیاPathرا بپذیرند. (Id8883) (I0d247)، (I25706) -
SpatialEnvironment.requestFullSpaceModeوSpatialEnvironment.requestHomeSpaceModeبه «صحنه» منتقل شدند، مثلاً بهجایsession.scene.spatialEnvironment.requestFullSpaceMode()ازsession.scene.requestFullSpaceMode()استفاده کنید.addOnPassthroughOpacityChangedListenerوaddOnSpatialEnvironmentChangedListenerاکنون دارای لغوهایی هستند که «مجریان» اختیاری را میپذیرند. (I12fe0) (I6b21e) - روشهای منسوخشده
SpatialEnvironmentزیر برداشته شدند:togglePassthrough،setPassthrough،setPassthroughOpacity،getPassthroughMode،getPassthroughOpacity،setSkybox، وsetGeometry. همچنین کلاس منسوخشدهSpatialEnvironment.PassthroughModeبرداشته شد (I927bd) (I927bd) (I927bd) -
SpatialEnvironmentگیرنده و تنظیمکننده زیر با ویژگیهای Kotlin جایگزین شدند:getCurrentPassthroughOpacity()،get/setPassthroughOpacityPreference()،get/setSpatialEnvironmentPreference()،isSpatialEnvironmentPreferenceActive()(I33a7b) (Ie06e2) (Ie06e2) - نوع
SpatialEnvironmentPreference.preferredPassthroughOpacityازFloat?بهFloatتغییر کرد. دیگر مقادیر خالی را نمیپذیرد. درعوض، ازSpatialEnvironment.NO_PASSTHROUGH_OPACITY_PREFERENCEبرای نشان دادن اینکه اولویت کدری وجود ندارد استفاده میشود. (I40107) - پارامتر
windowBoundsPxبهpixelDimensionsو نوع آن از Rect بهIntSize2dدر روش create بهروزرسانی شد. (I1926e) - سازنده
SpatialEnvironmentاکنون داخلی است (I75a51) - کلاس
SpatialPointerIconNoneو کلاسهایSpatialPointerIconCircleبا اشیای همراهSpatialPointerIcon.NONEوSpatialPointerIcon.CIRCLEجایگزین شدند (I416d2) -
SpatialPointerIconدرSpatialPointerComponentدیگر تهیپذیر نیست. برای نشان دادن اینکه باید از نماد اشارهگر پیشفرض سیستم استفاده شود، بهجای null ازSpatialPointerIcon.DEFAULTاستفاده کنید. (I416d2) -
androidx.xr.scenecore.AnchorEntity.getState()با دارایی فقطخواندنی جایگزین شد. پارامترهای روشAnchorEntity.create()برای شفافیت بیشتر تغییر نام دادهاند. در روشهایAnchorEntityبرای تنظیم و افزودن شنوندهها، شنونده به آرگومان نهایی منتقل شده است تا لامبداهای دنبالهدار فعال شوند. androidx.xr.scenecore.OnStateChangedListenerبرایAnchorEntityباConsumer<AnchorEntity.State>جایگزین شد. (I472e0) GltfModelEntity.getAnimationState()اکنون یک دارایی است. (I10b29)-
ActivitySpace.getBounds()با دارایی جایگزین شد. نامActivitySpace.addBoundsChangedListenerبهActivitySpace.addOnBoundsChangedListenerتغییر کرد. ActivitySpace.setOnSpaceUpdatedListenerبا روشهای افزودن/برداشتن جایگزین شد. (I4c956) - نام «برای
AnchorPlacement: planeTypeFilter» بهanchorablePlaneOrientationsتغییر کرد، نامplaneSemanticFilterبهanchorablePlaneSemanticTypesتغییر کرد. افزودنMovableComponentبهAnchorEntityیاActivitySpaceمقدار نادرست برمیگرداند،MoveListenerبهEntityMoveListener shouldDisposeParentAnchorتغییر نام داد بهdisposeParentOnReAnchor systemMovableتغییر نام داد از تابعcreateبهنفعcreeateCustomMovable،createSystemMovable، وcreateAnchorableبرداشته شد (If11c4) SurfaceEntity.featherRadiusX/Yرا حذف میکند و مفهوم کلاسEdgeFeatheringParamsرا اضافه میکند. (Ic78fc)- روش
PanelEntity.enablePanelDepthTest()با خصوصیتpanelClippingConfigجایگزین شد. برای فعال کردن آزمایش عمق،Scene.panelClippingConfig = PanelClippingConfig(isDepthTestEnabled = true)را تنظیم کنید یا برای غیرفعال کردن آن،PanelClippingConfig(isDepthTestEnabled = false)را تنظیم کنید. (I0cbe0) -
Scene.mainPanelEntityاکنون از نوعMainPanelEntityاست نهPanelEntity(I7125a) - نام روش
setFullSpaceModeاز Scene بهconfigureBundleForFullSpaceModeLaunchو نام روشsetFullSpaceModeWithEnvironmentInheritedبهconfigureBundleForFullSpaceModeLaunchWithEnvironmentInheritedتغییر کرد. (I0cbe0) (I0cbe0) - Renamed
SpatialVisibility's UNKNOWN, OUTSIDE_FOV, PARTIALLY_WITHIN_FOV, and WITHIN_FOV values to SPATIAL_VISIBILITY_UNKNOWN, SPATIAL_VISIBILITY_OUTSIDE_FIELD_OF_VIEW, SPATIAL_VISIBILITY_PARTIALLY_WITHIN_FIELD_OF_VIEW, and SPATIAL_VISIBILITY_WITHIN_FIELD_OF_VIEW, respectively (Ie7e8c) - کلاس
SpatialVisibilityبا شیء عمومی با مقادیر Int ثابت جایگزین شد. setSpatialVisibilityChangedListenerاکنون بهجایConsumer<SpatialVisibility>،Consumer<Int>را میپذیرد (Ie7e8c) -
PointerCaptureComponentثابت تغییر نام داده شد و به شیءPointerCaptureComponent.PointerCaptureStateمنتقل شد (I9c7ac) -
Consumer<Int>جایگزینPointerCaptureComponents' StateListenerشد. (I9c7ac) -
Consumer<InputEvent>جایگزینInputEventListenerشد (I9c7ac) setPreferredAspectRatioاز کلاس Scene به شیءSpatialWindowمنتقل شد و Session را بهعنوان پارامتر اول میگیرد. (I7b717)-
Entity.setHidden()باEntity.setEnabled()وEntity.isHidden()باEntity.isEnabled()جایگزین شد. setHidden(false)برابر باsetEnabled(true)وisHidden() == !isEnabled()است. (Icf0de) - نوع
Entity.contentDescriptionاز «رشته» بهCharSequenceتغییر کرد. (Ie59be) Session.createوSession.configureاکنون وقتی اجازههای کافی اعطا نشده باشد، بهجای برگرداندنSessionCreatePermissionsNotGrantedیاSessionConfigurePermissionsNotGranted،SecurityExceptionرا برمیگردانند. (I7c488)ResizableComponent.createnow requires aConsumer<ResizeEvent> ResizeEventListenerwas replaced withConsumer<ResizeEvent> ResizableComponent.sizewas renamed toResizableComponent.affordanceSize ResizableComponent.minimumSizewas renamed toResizableComponent.minimumEntitySize ResizableComponent.maximumSizewas renamed toResizableComponent.maximumEntitySize,ResizableComponent.autoHideContentwas renamed toResizableComponent.shouldAutoHideContentResizableComponent.forceShowResizeOverlaywas renamed toResizableComponent.shouldAlwaysShowOverlay(I97a2d)-
minSDKبه ۲۴ برایandroidx.xr.scenecoreوandroidx.xr.composeکاهش یافت. بستههای XR همچنان در زمان اجرا به API 34 نیاز دارند. (I17224) - محدودیت
RequiresApi(34)در همه بستههای Jetpack XR برداشته شد. این محدودیت زائد بود زیرا Jetpack XR درحالحاضر فقط در دستگاههای دارای سطح میانای برنامهسازی کاربردی ۳۴ و بالاتر دردسترس است. (Iae0f8) - ساخته اصلی
SceneCore(xr:scenecore:scenecore) فقط حاوی میاناهای برنامهسازی کاربردی ناهمگام به سبک Kotlin خواهد بود. توسعهدهندگان Java میتوانند برای دسترسی به میاناهای برنامهسازی کاربردی سازگار به کتابخانهxr:scenecore:scenecore-guavaمتکی باشند. (If221b) - پروژههای منتشرشده با Kotlin 2.0 برای استفاده به KGP 2.0.0 یا جدیدتر نیاز دارند (Idb6b5)
- این کتابخانه اکنون از حاشیهنویسیهای پوچی JSpecify استفاده میکند که از نوع استفاده هستند. توسعهدهندگان Kotlin باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند:
-Xjspecify-annotations=strict(این پیشفرض از نسخه ۲.۱.۰ کامپایلر Kotlin شروع میشود) (Ia8420) - همه روشهای ناهمگام که
ListenableFutureرا برمیگردانند با توابع تعلیق Kotlin جایگزین شدهاند. توسعهدهندگان جاوا که میخواهند بهجای توابع تعلیق Kotlin از روشهای ناهمگام مبتنی برListenableFutureاستفاده کنند، اکنون باید از توابع افزونه در:xr:scenecore-scenecore-guavaاستفاده کنند. برای مثال،GuavaExrImageحاوی توابع ناهمگام ExrImage معادل Guava است،GuavaScenePoseحاوی توابع ناهمگامScenePoseمعادل Guava است،GuavaGltfModelحاوی توابع ناهمگامGuava-equivalent GltfModelاست، و غیره. (If7283) (I0af60) (If7283) (Ia8515) (I4efdf) (I54bbf) (I3467a) (I82a33)
رفع اشکالها
- قانون Jetpack XR Scenecore
ProGuardبهروز شد تا ازAbstractMethodErrorبرای کلاینتهای کوچکشده جلوگیری شود. (I91a01) - اصلاحات بیشتر برای پشتیبانی از کوچکسازی Proguard برای Jetpack XR
SceneCore(I4f47e) - اشکالی که در آن
InteractableComponentممکن بود باعث ازکارافتادن شود، اگرhitPositionدر HitInfo مربوط بهInputEventممکن بود ازکار بیفتد اگرhitPositionبرگرداندهشده از سیستم تهی بود، برطرف شد (I7a695) - مقادیر Config *Mode برای نشان دادن رفتارشان تغییر نام دادهاند. (I6d247)
- مشکلات مربوط به FOV و
HitTestدرSceneCoreTestApp برطرف شد. (I2c51e) - اشکال
SpatialCapabilities.hasCapability()برطرف شد که در آن اگر هرکدام از قابلیتهای ارسالشده با OR بیتی درست بود، بهجای اینکه فقط درصورت درست بودن همه آنها درست برگرداند، درست برمیگرداند. (I2cd40) SurfaceEntity.StereoMode.TOP_BOTTOMبهروزرسانی شد تا نقشه بالا برای چشم چپ و نقشه پایین برای چشم راست باشد. (I4ae68)
نسخه 1.0.0-alpha04
۷ مه ۲۰۲۵
androidx.xr.scenecore:scenecore:1.0.0-alpha04 و androidx.xr.scenecore:scenecore-testing:1.0.0-alpha04 منتشر شدهاند. نسخه 1.0.0-alpha04 حاوی این موارد ثبت است.
ویژگیهای جدید
- اکنون مدیریت دکمه برگشت روی نهادهای پانل بدون فعالیتهای جاسازیشده کار خواهد کرد. برای اینکه مدیریت برگشت کار کند، باید
android:enableOnBackInvokedCallback= "true"را در مانیفست Android مشخص کنید. -
StereoSurfaceEntityاکنون از بازپخش MV-HEVC ازطریق دو مقدار جدیدStereoModeپشتیبانی میکند: MULTIVIEW_LEFT_PRIMARY و MULTIVIEW_RIGHT_PRIMARY. PanelEntity.setSizeوPanelEntity.getSizeاکنون اندازهها را در فضای اصلی برمیگردانند.-
Entity.setPose،Entity.getPose،Entity.setScale،Entity.getScale،Entity.setAlpha، وEntity.getAlphaاکنون پارامتر جدیدrelativeToرا میپذیرند که امکان دریافت/تنظیم مقادیر مربوط به فضاهای مختلف را فراهم میکند. مقادیر پشتیبانیشده عبارتند از Parent، Activity، و Real World spaces، و مقدار پیشفرض برای این پارامتر Parent است. - روشهای افزونه Spatial Visibility Callback به
SessionExt.ktاضافه شده است تا زمانی که محتوای صحنه به داخل یا خارج از میدان دید کاربر حرکت میکند، نظارت شود. -
setPointSourceParamsبهSpatialAudioTrackاضافه شده است، که اجازه میدهد پارامترها پساز ساخته شدن دسته بهروزرسانی شوند. - کلاس جدیدی بهنام Scene با ارجاع به میاناهای برنامهسازی کاربردی
Scenecoreاضافه شد. «صحنه» بهعنوان ویژگی افزونه «جلسه» دردسترس خواهد بود. توابع داخلSessionExtبه Scene منتقل شدهاند، بنابراین واردات باید تنظیم شوند؛ برای مثال،SessionExt.getScene(session).addSpatialCapababilitiesChangedListenerدرمقابلSessionExt.addSpatialCapabilitiesChangedListener. ActivityPose.hitTestAsyncاضافه شد وhitTestرا دربرابر محتوای مجازی فعال کرد.- نوع مؤلفه جدید
SpatialPointerComponentاضافه شد که به مشتریان اجازه میدهد نماد ارائهشده برای اشارهگر را مشخص کنند یا نماد را غیرفعال کنند. این «مؤلفه» درحالحاضر فقط میتواند بهPanelEntityنمونه پیوست شود. - معرفی کارخانه جدید
PanelEntityکه ابعاد پانل را به متر یا پیکسل میگیرد. کارخانه قدیمیترPanelEntityکه دو پارامتر نوع Dimension را برای پانل میگرفت برداشته شد.
تغییرات میانای برنامهسازی کاربردی
- محدودیت
RequiresApi(34)در همه بستههای Jetpack XR برداشته شد. این محدودیت زائد بود زیرا Jetpack XR درحالحاضر فقط در دستگاههای دارای سطح میانای برنامهسازی کاربردی ۳۴ و بالاتر دردسترس است. (Iae0f8) - پروژههای منتشرشده با Kotlin 2.0 برای استفاده به KGP 2.0.0 یا جدیدتر نیاز دارند (Idb6b5)
- کلاس
PermissionHelperبرداشته شد. -
PanelEntity.getPixelDensityمنسوخ شده است. -
PanelEntity.setPixelDimensionsوPanelEntity.getPixelDimensionبرداشته شدند وsetSizeInPixelsوgetSizeInPixelsجایگزین آنها شدند. Entity.getActivitySpaceAlphaحذف شد. میتواند باEntity.getAlpha(Space.Activity)جایگزین شود.Entity.getWorldSpaceScaleحذف شد. میتواند باEntity.getScale(Space.REAL\_WORLD)جایگزین شود.- کلاس Session در
SceneCoreبهنفع Session در XR Runtime حذف شده است. - نام
StereoSurfaceEntityبهSurfaceEntityتغییر کرد. -
Entity.setSizeوEntity.getSizeبرداشته شدند و همان روشها بهPanelEntityاضافه شدند. - نام
PointSourceAttributesبهPointSourceParamsتغییر کرد. - نام
SpatializerConstants.SOURCE\_TYPE\_BYPASSبهSpatializerConstants.SOURCE\_TYPE\_DEFAULTتغییر کرد. - نهاد
PointSourceParamsاز دسترسی عمومی به دسترسی داخلی تغییر کرده است. AnchorEntity.createاکنون بهPlaneTrackingModeنیاز دارد تا درSession.configure()پیکربندی شود.- اکنون میاناهای برنامهسازی کاربردی
SpatialUserنیاز دارند کهHeadTrackingModeدرSession.configure()پیکربندی شود. - وقتی
ResizableComponentپیوست نشده باشد، بهجای گزارش سطح ERROR، گزارش سطح INFO ارائه خواهد شد. - کلاس Fov اکنون یک کلاس Kotlin معمولی است.
Entity.ktرا تقسیم کنید تا هر نوع موجودیت واقعی در فایل خودش قرار گیرد.- هنگام ایجاد
PanelEntityجدید، اکثر «نماها» بهFrameLayoutمنتقل خواهند شد. این کار استفاده ازLayoutInspectorرا با «پانلهای فضایی» تسهیل میکند. - نمونه
XrExtensionsکه درحالحاضر استفاده میشود اکنون در پلاتفرم ثبت شده است تا به بهترین شکل ممکن به اشکالزدایی برنامه کمک کند.
رفع اشکالها
- اصلاحیهای اضافه شد تا از خرابیای که ممکن بود هنگام جابهجایی
PanelEntityباMovableComponentوAnchorPlacementرخ دهد جلوگیری شود - مشکلی که باعث میشد
ResizableComponentاندازههای قدیمی را در بازخوانonResizeStartارائه دهد برطرف شد. - رفع ازکارافتادگی هنگام چندین بار فراخوانی
dispose()مربوط بهJxrPlatformAdapterAxr.
نسخه 1.0.0-alpha03
۲۶ فوریه ۲۰۲۵
androidx.xr.scenecore:scenecore:1.0.0-alpha03 و androidx.xr.scenecore:scenecore-testing:1.0.0-alpha03 منتشر شدهاند. نسخه 1.0.0-alpha03 حاوی این موارد ثبت است.
ویژگیهای جدید
- اکنون از کوچکسازی Proguard برای کد Jetpack XR پشتیبانی میشود
رفع اشکالها
- اصلاحات بیشتر برای پشتیبانی از کوچکسازی Proguard برای Jetpack XR SceneCore (I4f47e)
- قانون Jetpack XR Scenecore
ProGuardبهروز شد تا ازAbstractMethodErrorبرای کلاینتهای کوچکشده جلوگیری شود. (I91a01)
نسخه 1.0.0-alpha02
۱۲ فوریه ۲۰۲۵
androidx.xr.scenecore:scenecore:1.0.0-alpha02 و androidx.xr.scenecore:scenecore-testing:1.0.0-alpha02 منتشر شدهاند. نسخه 1.0.0-alpha02 حاوی این ارسالها است.
تغییرات اساسی آتی که بر برنامههای ساختهشده قبلاز نسخه 1.0.0-alpha02 تأثیر میگذارد
- روشهای کارخانه از کلاس
Sessionبه روش همپا در هر نوع مربوطه منتقل شدهاند:-
Session.createActivityPanelEntity(Dimensions, String, Activity, Pose)حذف شده وActivityPanelEntity.create(Session, Dimensions, String, Pose)جایگزین آن شده است -
Session.createAnchorEntity(Anchor)حذف شده وAnchorEntity.create(Session, Anchor)جایگزین آن شده است -
Session.createAnchorEntity(Dimensions, Int, Int, Duration)حذف شده وAnchorEntity.create(Session, Dimensions, Int, Int, Duration)جایگزین آن شده است -
Session.createEntity(String, Pose)حذف شده وContentlessEntity.create(Session, String, Pose)جایگزین آن شده است -
Session.createExrImageResource(String)حذف شده وExrImage.create(Session, String)جایگزین آن شده است -
Session.createGltfEntity(GltfModel, Pose)حذف شده وGltfModelEntity.create(Session, GltfModel, Pose)جایگزین آن شده است -
Session.createGltfModelResource(String)حذف شده وGltfModel.create(Session, String)جایگزین آن شده است -
Session.createInteractableComponent(Executor, InputEventListener)حذف شده وInteractableComponent.create(Session, Executor, InputEventListener)جایگزین آن شده است -
Session.createMovableComponent(Boolean, Boolean, Set<AnchorPlacement>, Boolean)حذف شده وMovableComponent.create(Session, Boolean, Boolean, Set<AnchorPlacement>, Boolean)جایگزین آن شده است -
Session.createPanelEntity(View, Dimensions, Dimensions, String, Pose)حذف شده وPanelEntity.create(Session, View, Dimensions, Dimensions, String, Pose)جایگزین آن شده است -
Session.createResizableComponent(Dimensions, Dimensions)حذف شده وResizableComponent.create(Session, Dimensions, Dimensions)جایگزین آن شده است -
Session.createStereoSurfaceEntity(Int, Dimensions, Pose)حذف شده وStereoSurface.create(Session, Int, Dimensions, Pose)جایگزین آن شده است
-
- روشهای منسوخشده زیر برداشته شدند:
Session.canEmbedActivityPanel(Activity)حذف شده است. درعوض ازgetSpatialCapabilities.hasCapabilility(SPATIAL_CAPABILITY_EMBED_ACTIVITY)استفاده کنید.Session.hasSpatialCapability(Int)حذف شده است. این روش جایگزین شده است و بهجای آن ازgetSpatialCapabilities().hasCapability()بهعنوان روشی تفکیکشدهتر برای بررسی وجود قابلیتهای فضایی استفاده میشود، زیراgetSpatialCapabilities()یک شیءSpatialCapabilitiesبرمیگرداند.-
Session.requestFullSpaceMode()حذف شده وSpatialEnvironment.requestFullSpaceMode()جایگزین آن شده است -
Session.requestHomeSpaceMode()حذف شده وSpatialEnvironment.requestHomeSpaceMode()جایگزین آن شده است
Session.setFullSpaceMode(Bundle)وSession.setFullSpaceModeWithEnvironmentInherited(Bundle)به توابع افزونه منتقل شدهاند. فایلهای توسعهدهنده باید واردات جدید را برای دسترسی اضافه کنند:import androidx.xr.scenecore.setFullSpaceModeimport androidx.xr.scenecore.setFullSpaceModeWithEnvironmentInherited
-
Session.setPreferredAspectRatio(Activity, Float)به عملکرد افزونه منتقل شده است. فایلهای توسعهدهنده باید واردات جدید را برای دسترسی اضافه کنند:import androidx.xr.scenecore.setPreferredAspectRatio
Session.getEntitiesOfType(Class<out T>)وSession.getEntityForRtEntity(RtEntity)به توابع افزونه منتقل شدهاند. فایلهای توسعهدهنده باید واردات جدید را برای دسترسی اضافه کنند:import androidx.xr.scenecore.getEntitiesOfTypeimport androidx.xr.scenecore.getEntityForRtEntity
Session.unpersistAnchor(Anchor)حذف شدSession.createPersistedAnchorEntity(UUID)حذف شد
مشکلات شناختهشده
PanelEntity.setCornerRadius()وActivityPanelEntity.setCornerRadius()ممکن است تا زمانی که پانل دوباره جابهجا نشود اعمال نشوند، این مشکل را میتوان با جابهجا کردن پانل به موقعیت فعلیاش کاهش داد- وقتی
BoundsChangedدرActivitySpaceفراخوانی میشود، ممکن است برخیازActivityPoseها بهدرستی بهروز نشده باشند. این مورد در تماسOnSpaceUpdatedبعدی درActivitySpaceبهروز خواهد شد
تغییرات ناگهانی و رفتاری
PanelEntityوActivityPanelEntityدارای شعاع گوشه پیشفرض ۳۲ دیپی یا کوچکتر خواهند بود اگر پانل دارای عرض یا ارتفاع کوچکتر از ۳۲ دیپی باشد
میاناهای برنامهسازی کاربردی و قابلیتهای جدید
StereoSurface.CanvasShapeرا معرفی میکند که امکان ایجاد بومهای نقاشیSphericalوHemisphericalرا برای رندر کردن رسانههای فراگیر فراهم میکند.StereoSurfaceEntity.create()اکنون پارامترCanvasShapeرا میپذیرد. (این پارامتر درحالحاضر نادیده گرفته میشود، اما در نسخه پخش آتی استفاده خواهد شد)StereoSurfaceEntity.create()دیگر پارامترDimensionsرا نمیپذیرد. برنامهها باید اندازه بوم را ازطریق تنظیمCanvasShapeکنترل کنندStereoSurfaceEntityدارای عضوCanvasShapeاست که میتواند بهصورت پویا تنظیم شود.StereoSurfaceEntity.dimensionsاکنون یک ویژگی فقط خواندنی است؛ برنامهها بایدCanvasShapeرا برای تغییر ابعاد تنظیم کنند.StereoSurfaceEntityاکنون اجازه میدهدStereoModeپساز ساختوساز بازنشانی شود.
تغییرات دیگر
- کیت توسعه نرمافزار حداقل زمان ترجمه به ۲۴ کاهش یافت. همه میاناهای برنامهسازی کاربردی Jetpack XR همچنان در زمان اجرا به میانای برنامهسازی کاربردی ۳۴ نیاز دارند.
- کارخانه جلسه
SceneCore(Session.create) دیگر قصدی برای کسب اجازهSCENE_UNDERSTANDINGراهاندازی نمیکند. درعوض، برنامه کارخواه باید قبلاز تلاش برای ایجاد لنگرها، صریحاً اجازهها را از کاربر درخواست کند. اگر کاربر اجازه ندهد، ایجاد لنگر ناموفق خواهد بود.
رفع اشکالها
getActivitySpacePose()برای درنظر گرفتن مقیاسActivitySpaceاصلاح شده است و مقادیر ترجمه را بهجای اینکه همیشه بهصورت متر بدون مقیاس برگرداند، بهصورت متر مقیاسبندیشده برمیگرداند. اکنونtransformPoseToاز واحدهای مناسب برای محاسبه تغییرات مختصات در زمانی کهActivitySpaceدر مبدأ یا مقصد دخیل است نیز استفاده میکند.- اکنون هرگاه اولویت جعبه آسمان تهی بااستفاده از
setSpatialEnvironmentPreference(new SpatialEnvironmentPreference(null, geom))ارسال شود، جعبه آسمان روی جعبه آسمان کاملاً سیاه تنظیم میشود. برای برگشتن به هندسه و آسمانباکس پیشفرض سیستم، ازsetSpatialEnvironmentPreference(null).استفاده کنید
نسخه 1.0.0-alpha01
۱۲ دسامبر ۲۰۲۴
androidx.xr.scenecore:scenecore-* 1.0.0-alpha01 منتشر شده است.
ویژگیهای نسخه اولیه نسخه اولیه توسعهدهنده Jetpack SceneCore، کتابخانه نمودار صحنه سهبعدی برای ایجاد و دستکاری صحنهها و محیطهای فراگیر. این کتابخانه به شما امکان میدهد مدلهای سهبعدی و پانلهای محتوا را نسبت به یکدیگر و محیطهای مجازی یا واقعی خود قرار دهید و مرتب کنید.
- SpatialEnvironment: بااستفاده از تصویر جعبه آسمان و/یا هندسه مدل سهبعدی بهعنوان پسزمینه صحنه واقعیت گسترده محیطتان، تجربههای کاملاً فراگیر ایجاد کنید. یا حالت «گذر» را فعال کنید تا صحنه مجازی شما بتواند با محیط واقعی کاربر ادغام شود.
- PanelEntity: با جاسازی کردن چیدمانها و «فعالیتهای» استاندارد Android در پانلهای فضایی که میتوانند شناور باشند یا به سطوح دنیای واقعی متصل شوند، محتوای دوبعدی به صحنههای سهبعدی اضافه کنید.
- GltfModelEntity: مدلهای سهبعدی را در صحنه خود قرار دهید، پویانمایی کنید، و با آنها تعامل داشته باشید. SceneCore از قالب فایل glTF برای ادغام آسان با مدلهای موجود پشتیبانی میکند.
- SpatialAudio: منابع صوتی محیطی و نقطهای را به صحنه سهبعدی خود اضافه کنید تا صدایی کاملاً فراگیر و فضایی داشته باشید.
- StereoSurfaceEntity: SceneCore از مسیریابی چشم چپ/راست محتوای رندرشده روی Android Surface پشتیبانی میکند. از این ویژگی میتوان برای ارائه محتوای برجستهنمایی در قالب پهلوبهپهلو یا بالا-پایین استفاده کرد، مانند عکسهای استریو، ویدیو سهبعدی، یا دیگر واسطهای کاربر ارائهشده بهصورت پویا. برنامهها باید از MediaPlayer یا ExoPlayer برای رمزگشایی ویدیو استفاده کنند.
- سیستم مؤلفه: SceneCore یک سیستم مؤلفه قوی و انعطافپذیر برای افزودن قابلیتها به محتوای واقعیت گسترده شما ارائه میدهد، ازجمله امکاناتی برای کاربران برای جابهجایی، تغییر اندازه، و تعامل با مدلها و پانلها.
- اتصال: با فعال کردن حالت دیدن محیط، میتوانید پانلها و مدلها را به سطوح واقعی متصل کنید و به کاربران امکان دهید محتوای مجازی را بهطور یکپارچه در محیط واقعی خود ادغام کنند.
- ژست کاربر: دسترسی به مکان کاربر در صحنه مجازی، برای جهتدهی محتوای شما در اطراف موقعیت کاربر.
- SpatialCapabilities: برنامههای کاملاً تطبیقی بسازید که از قابلیتهای فضاییشده درصورت دردسترس بودن بهره میبرند، مثل موقعیتیابی سهبعدی محتوای واسط کاربر. علاوهبراین، برنامهتان میتواند تغییرات قابلیتها را درحین اجرای برنامه پایش کند تا تجربه را براساس نحوه استفاده کاربر از دستگاه Android XR خود اصلاح کند.
مشکلات شناختهشده
- درحالحاضر، برای استفاده از Jetpack SceneCore، حداقل SDK ۳۰ لازم است. بهعنوان راهحل، ورودی مانیفست
<uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/>زیر را اضافه کنید تا بتوانید با minSDK ۲۳ بسازید و اجرا کنید. - جلسه میتواند در موقعیتهای مختلفی که بهطور خودکار «فعالیت» را بازسازی میکنند نامعتبر شود، ازجمله تغییر اندازه پانل اصلی، اتصال دستگاههای جانبی، و جابهجایی بین حالت روشن و تاریک. اگر با مشکلات نامعتبر شدن جلسه مواجه شدید، راهحلهای جایگزین شامل غیرقابلتغییر اندازه کردن پانل اصلی، استفاده از موجودیت پانل پویا، غیرفعال کردن بازآفرینی فعالیت برای تغییرات پیکربندی خاص، یا غیرفعال کردن تغییرات زمینه حالت روشن/تاریک است.
- مؤلفههای «قابلجابهجایی» و «قابلتغییر اندازه» در GltfEntity پشتیبانی نمیشوند.
- Entity.getSize() در GltfEntity پشتیبانی نمیشود.
- برنامههای Jetpack XR باید اجازه
android.permission.SCENE_UNDERSTANDINGرا در AndroidManifest درخواست کنند. - ایجاد کردن جلسه فقط در دستگاه Android XR پشتیبانی میشود. درحالحاضر، اگر «جلسهای» ایجاد کنید و بخواهید از آن در دستگاهی غیراز Android XR استفاده کنید، RuntimeException دریافت خواهید کرد.
- تنظیم skybox روی null ازطریق `SpatialEnvironment.setSpatialEnvironmentPreference() منجر به skybox سیاه یکدست نمیشود، همانطور که در سند آمده است. ممکن است منجر به نمایش جعبه آسمان پیشفرض سیستم شود یا تغییری در جعبه آسمان فعلی ایجاد نشود.
- کارخواههای SceneCore باید
implementation(“com.google.guava:listenablefuture-1.0”)را به پیکربندی Gradle خود برای وابستگیهای برنامهشان اضافه کنند. در نسخهٔ پخش آتی، scenecore این کتابخانه را بهعنوان وابستگیapiاضافه خواهد کرد تا کارخواهها نیازی به اعلام صریح آن نداشته باشند. - SceneCore بهاشتباه
com.google.guava:guava-31.1-androidوcom.google.protobuf:protobuf-javaliteرا بهعنوان وابستگیهای متعدی دربرمیگیرد. اگر این کار منجر به خطاهای کلاس تکراری در ساخت شما شود، این دو وابستگی را میتوان بهطور ایمن مستثنی کرد. - اگر برنامهتان از SceneCore استفاده میکند و ProGuard را فعال میکند، هنگام ایجاد «جلسه» ازکار خواهد افتاد. بهعنوان راهحل، ProGuard را غیرفعال کنید. برای اطلاعات بیشتر درباره نحوه فعال کردن ProGuard، به این راهنما مراجعه کنید.