{ } { }
জেটপ্যাক সিনকোর
সর্বশেষ আপডেট | স্থিতিশীল রিলিজ | প্রার্থী মুক্তি | বিটা রিলিজ | আলফা রিলিজ |
---|---|---|---|---|
7 মে, 2025 | - | - | - | 1.0.0-আলফা04 |
নির্ভরতা ঘোষণা করা
XR SceneCore-এ নির্ভরতা যোগ করতে, আপনাকে অবশ্যই আপনার প্রকল্পে Google Maven সংগ্রহস্থল যোগ করতে হবে। আরও তথ্যের জন্য Google এর Maven সংগ্রহস্থল পড়ুন।
আপনার অ্যাপ বা মডিউলের জন্য build.gradle
ফাইলে আপনার প্রয়োজনীয় আর্টিফ্যাক্টগুলির জন্য নির্ভরতা যোগ করুন:
গ্রোভি
dependencies { implementation "androidx.xr.scenecore:scenecore:1.0.0-alpha04" // Required for Java implementation "com.google.guava:listenablefuture:1.0" // Required for Kotlin implementation "org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.9.0" // Use to write unit tests testImplementation "androidx.xr.scenecore:scenecore-testing:1.0.0-alpha04" }
কোটলিন
dependencies { implementation("androidx.xr.scenecore:scenecore:1.0.0-alpha04") // Required for Java implementation("com.google.guava:listenablefuture:1.0") // Required for Kotlin implementation("org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.9.0") // Use to write unit tests testImplementation("androidx.xr.scenecore:scenecore-testing:1.0.0-alpha04") }
নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, বিল্ড নির্ভরতা যুক্ত করুন দেখুন।
প্রতিক্রিয়া
আপনার প্রতিক্রিয়া জেটপ্যাককে আরও ভাল করতে সাহায্য করে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন বা এই লাইব্রেরির উন্নতির জন্য ধারনা পান তাহলে আমাদের জানান। আপনি একটি নতুন তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি দেখুন৷ আপনি তারকা বোতামে ক্লিক করে একটি বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।
আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।
সংস্করণ 1.0
সংস্করণ 1.0.0-alpha04
7 মে, 2025
androidx.xr.scenecore:scenecore:1.0.0-alpha04
এবং androidx.xr.scenecore:scenecore-testing:1.0.0-alpha04
প্রকাশ করা হয়েছে। সংস্করণ 1.0.0-alpha04 এই কমিট ধারণ করে।
নতুন বৈশিষ্ট্য
- ব্যাকহ্যান্ডলিং এখন এম্বেড করা কার্যকলাপ ছাড়াই প্যানেল সত্তাগুলিতে কাজ করবে। ব্যাকহ্যান্ডলিং কাজ করার জন্য আপনাকে অ্যান্ড্রয়েড ম্যানিফেস্টে
android:enableOnBackInvokedCallback= "true"
নির্দিষ্ট করতে হবে। -
StereoSurfaceEntity
এখন দুটি নতুনStereoMode
মানগুলির মাধ্যমে MV-HEVC প্লেব্যাক সমর্থন করে: MULTIVIEW_LEFT_PRIMARY এবং MULTIVIEW_RIGHT_PRIMARY৷ -
PanelEntity.setSize
এবংPanelEntity.getSize
এখন প্যারেন্ট স্পেসে মাপ প্রদান করুন। -
Entity.setPose
,Entity.getPose
,Entity.setScale
,Entity.getScale
,Entity.setAlpha
এবংEntity.getAlpha
এখন একটি নতুন প্যারামrelativeTo
গ্রহণ করে, যা বিভিন্ন স্থানের সাপেক্ষে মান পেতে/সেট করার অনুমতি দেয়। সমর্থিত মানগুলি হল অভিভাবক, কার্যকলাপ এবং বাস্তব বিশ্বের স্থান, এবং এই প্যারামের জন্য ডিফল্ট মান হল অভিভাবক৷ - স্থানিক দৃশ্যমানতা কলব্যাক এক্সটেনশন পদ্ধতিগুলি
SessionExt.kt
এ যুক্ত করা হয়েছে যখন দৃশ্যের বিষয়বস্তু ব্যবহারকারীর দেখার ক্ষেত্রের ভিতরে বা বাইরে চলে যায় তখন নিরীক্ষণ করতে। -
SpatialAudioTrack
এsetPointSourceParams
যোগ করা হয়েছে, ট্র্যাক তৈরি হওয়ার পর প্যারামগুলি আপডেট করার অনুমতি দেয়। -
Scenecore
এপিআই-এর রেফারেন্স সহ একটি নতুন ক্লাস, সিন যোগ করা হয়েছে। সেশনের এক্সটেনশন প্রপার্টি হিসেবে দৃশ্য অ্যাক্সেসযোগ্য হবে।SessionExt
এর ভিতরের ফাংশনগুলিকে দৃশ্যে সরানো হয়েছে তাই আমদানি সামঞ্জস্য করতে হবে; উদাহরণস্বরূপ,SessionExt.getScene(session)
।addSpatialCapababilitiesChangedListener
বনামSessionExt.addSpatialCapabilitiesChangedListener
। -
ActivityPose.hitTestAsync
যোগ করা হয়েছে, ভার্চুয়াল সামগ্রীর বিরুদ্ধে একটিhitTest
সক্ষম করে৷ - নতুন কম্পোনেন্ট টাইপ
SpatialPointerComponent
যোগ করা হয়েছে, ক্লায়েন্টদের পয়েন্টারের জন্য রেন্ডার করা আইকন নির্দিষ্ট করতে বা আইকনটি নিষ্ক্রিয় করার অনুমতি দেয়। এই উপাদানটি বর্তমানে শুধুমাত্রPanelEntity
দৃষ্টান্তে সংযুক্ত করা যেতে পারে। - নতুন
PanelEntity
ফ্যাক্টরি পেশ করা হচ্ছে, যা মিটার বা পিক্সেলে প্যানেলের মাত্রা নেয়। পুরোনোPanelEntity
ফ্যাক্টরি প্যানেল অপসারণের জন্য দুটি মাত্রা ধরনের প্যারাম গ্রহণ করছে।
এপিআই পরিবর্তন
- সমস্ত Jetpack XR প্যাকেজের উপর
RequiresApi(34)
সীমাবদ্ধতা সরানো হয়েছে। এই বিধিনিষেধটি অপ্রয়োজনীয় ছিল কারণ Jetpack XR বর্তমানে শুধুমাত্র API স্তর 34+ সহ ডিভাইসগুলিতে উপলব্ধ। ( 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)
দিয়ে প্রতিস্থাপন করা যেতে পারে। - XR রানটাইমে সেশনের পক্ষে
SceneCore
এ সেশন ক্লাস মুছে ফেলা হয়েছে। -
StereoSurfaceEntity
নাম পরিবর্তন করেSurfaceEntity
করা হয়েছে। -
Entity.setSize
এবংEntity.getSize
সরানো হয়েছে, এবং একই পদ্ধতিগুলিPanelEntity
এ যোগ করা হয়েছে। -
PointSourceAttributes
নাম পরিবর্তন করেPointSourceParams
করা হয়েছে। -
SpatializerConstants.SOURCE\_TYPE\_BYPASS
এর নাম পরিবর্তন করেSpatializerConstants.SOURCE\_TYPE\_DEFAULT
করা হয়েছে। -
PointSourceParams
সত্তা সর্বজনীন থেকে অভ্যন্তরীণ অ্যাক্সেসে পরিবর্তন করা হয়েছে৷ -
AnchorEntity.create
এখন প্রয়োজনPlaneTrackingMode
Session.configure()
-এ কনফিগার করা। -
SpatialUser
API-এর এখনHeadTrackingMode
প্রয়োজনSession.configure()
-এ কনফিগার করা। - যখন
ResizableComponent
সংযুক্ত করা হয় না, তখন এটি ERROR-স্তরের লগের পরিবর্তে INFO-স্তরের লগ দেবে। - Fov ক্লাস এখন একটি নিয়মিত কোটলিন ক্লাস।
- বিভক্ত
Entity.kt
প্রতিটি কংক্রিট সত্তা টাইপ তার নিজস্ব ফাইলে স্থাপন করুন। - একটি নতুন
PanelEntity
তৈরি করার সময়, বেশিরভাগ ভিউ একটিFrameLayout
এ পুনরায় সাজানো হবে। এটি স্থানিক প্যানেলের সাথেLayoutInspector
এর ব্যবহার সহজতর করে। - বর্তমানে ব্যবহৃত
XrExtensions
উদাহরণটি এখন প্ল্যাটফর্মের সাথে নিবন্ধিত হয়েছে, একটি সর্বোত্তম প্রচেষ্টার উপায়ে, অ্যাপ ডিবাগিংয়ে সহায়তা করার জন্য।
বাগ ফিক্স
-
MovableComponent
এবংAnchorPlacement
সহ একটিPanelEntity
সরানো হলে ক্র্যাশ প্রতিরোধ করার জন্য একটি ফিক্স যোগ করা হয়েছিল - একটি সমস্যা সমাধান করা হয়েছে যেখানে
ResizableComponent
onResizeStart
কলব্যাকে বাসি মাপ প্রদান করছে। -
JxrPlatformAdapterAxr
এরdispose()
একাধিকবার কল করা হলে ক্র্যাশ স্থির করা হয়েছে।
সংস্করণ 1.0.0-alpha03
ফেব্রুয়ারী 26, 2025
androidx.xr.scenecore:scenecore:1.0.0-alpha03
এবং androidx.xr.scenecore:scenecore-testing:1.0.0-alpha03
প্রকাশ করা হয়েছে। সংস্করণ 1.0.0-alpha03-এ এই কমিট রয়েছে।
নতুন বৈশিষ্ট্য
- প্রোগার্ড মিনিফিকেশন এখন জেটপ্যাক এক্সআর কোডের জন্য সমর্থিত
বাগ ফিক্স
- Jetpack XR SceneCore ( I4f47e ) এর জন্য প্রোগার্ড মিনিফিকেশন সমর্থন করার জন্য অতিরিক্ত সংশোধন
- সংক্ষিপ্ত ক্লায়েন্টদের জন্য
AbstractMethodError
প্রতিরোধ করতে Jetpack XR ScenecoreProGuard
নিয়ম আপডেট করা হয়েছে। ( I91a01 )
সংস্করণ 1.0.0-alpha02
ফেব্রুয়ারি 12, 2025
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.setFullSpaceMode
-
import 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.getEntitiesOfType
-
import androidx.xr.scenecore.getEntityForRtEntity
-
-
Session.unpersistAnchor(Anchor)
মুছে ফেলা হয়েছে -
Session.createPersistedAnchorEntity(UUID)
মুছে ফেলা হয়েছে
পরিচিত সমস্যা
-
PanelEntity.setCornerRadius()
এবংActivityPanelEntity.setCornerRadius()
প্যানেলটি পরবর্তী স্থানান্তর না হওয়া পর্যন্ত কার্যকর নাও হতে পারে, প্যানেলটিকে তার বর্তমান অবস্থানে সরানোর মাধ্যমে এটি হ্রাস করা যেতে পারে - যখন
ActivitySpace
এBoundsChanged
কল করা হয়, তখন কিছুActivityPose
সঠিকভাবে আপডেট নাও হতে পারে।ActivitySpace
এ নিম্নলিখিতOnSpaceUpdated
কলে এটি আপডেট করা হবে
ব্রেকিং এবং আচরণগত পরিবর্তন
-
PanelEntity
এবংActivityPanelEntity
এর একটি ডিফল্ট কোণার ব্যাসার্ধ 32dp বা ছোট হবে যদি প্যানেলের প্রস্থ বা উচ্চতা 32dp-এর চেয়ে ছোট হয়
নতুন API এবং ক্ষমতা
-
StereoSurface.CanvasShape
প্রবর্তন করে, যা ইমারসিভ মিডিয়া রেন্ডার করার জন্যSpherical
এবংHemispherical
ক্যানভাস তৈরি করতে দেয়। -
StereoSurfaceEntity.create()
এখন একটিCanvasShape
প্যারামিটার গ্রহণ করে। (এই প্যারামিটারটি বর্তমানে উপেক্ষা করা হয়েছে, তবে ভবিষ্যতের রিলিজে ব্যবহার করা হবে) -
StereoSurfaceEntity.create()
আর একটিDimensions
প্যারামিটার নেয় না।CanvasShape
সেট করার মাধ্যমে অ্যাপ্লিকেশনগুলিকে ক্যানভাসের আকার নিয়ন্ত্রণ করা উচিত -
StereoSurfaceEntity
এর একটিCanvasShape
সদস্য রয়েছে যা গতিশীলভাবে সেট করা যেতে পারে। -
StereoSurfaceEntity.dimensions
এখন শুধুমাত্র পঠনযোগ্য সম্পত্তি; অ্যাপ্লিকেশনের মাত্রা পরিবর্তন করতেCanvasShape
সেট করা উচিত। -
StereoSurfaceEntity
এখনStereoMode
নির্মাণের পরে পুনরায় সেট করার অনুমতি দেয়।
অন্যান্য পরিবর্তন
- কম্পাইল-টাইম minSDK কমিয়ে 24 করা হয়েছে। সমস্ত Jetpack XR API-এর জন্য রানটাইমে API 34-এর প্রয়োজন অব্যাহত রয়েছে।
-
SceneCore
এর সেশন ফ্যাক্টরি (Session.create
) আরSCENE_UNDERSTANDING
অনুমতি অর্জনের কোনো উদ্দেশ্য চালু করে না৷ পরিবর্তে, অ্যাঙ্কর তৈরি করার চেষ্টা করার আগে ক্লায়েন্ট অ্যাপ্লিকেশনটিকে অবশ্যই ব্যবহারকারীর কাছ থেকে স্পষ্টভাবে অনুমতির অনুরোধ করতে হবে। ব্যবহারকারীর অনুমতি না দিলে অ্যাঙ্কর তৈরি ব্যর্থ হবে।
বাগ ফিক্স
-
getActivitySpacePose()
ActivitySpace
স্কেলের জন্য অ্যাকাউন্টে স্থির করা হয়েছে সবসময় অ-স্কেল করা মিটার ফেরত না দিয়ে স্কেল করা মিটারে অনুবাদের মান ফিরিয়ে দিয়ে। যখনActivitySpace
উৎস বা গন্তব্যের সাথে জড়িত থাকে তখনtransformPoseTo
এখন সমন্বয় পরিবর্তনের গণনা করার জন্য সঠিক ইউনিট ব্যবহার করে। - স্কাইবক্সটি এখন একটি সম্পূর্ণ-কালো স্কাইবক্সে সেট করা হবে যখনই
setSpatialEnvironmentPreference(new SpatialEnvironmentPreference(null, geom))
ব্যবহার করে একটি নাল স্কাইবক্স পছন্দ পাস করা হবে। সিস্টেম ডিফল্ট স্কাইবক্স এবং জ্যামিতিতে প্রত্যাবর্তন করতে,setSpatialEnvironmentPreference(null).
সংস্করণ 1.0.0-alpha01
ডিসেম্বর 12, 2024
androidx.xr.scenecore:scenecore-* 1.0.0-alpha01
প্রকাশিত হয়েছে।
প্রারম্ভিক রিলিজের বৈশিষ্ট্য জেটপ্যাক সিনকোরের প্রাথমিক বিকাশকারী রিলিজ, নিমজ্জিত দৃশ্য এবং পরিবেশ তৈরি এবং ম্যানিপুলেট করার জন্য একটি 3D দৃশ্য গ্রাফ লাইব্রেরি। এই লাইব্রেরি আপনাকে একে অপরের এবং আপনার ভার্চুয়াল বা বাস্তব-বিশ্বের পরিবেশের সাথে সম্পর্কিত 3D মডেল এবং সামগ্রী প্যানেল স্থাপন এবং সাজানোর অনুমতি দেয়।
- স্থানিক পরিবেশ : আপনার পরিবেশের XR দৃশ্যের পটভূমি হিসাবে একটি স্কাইবক্স ইমেজ এবং/অথবা 3D মডেল জ্যামিতির সাথে সম্পূর্ণ নিমগ্ন অভিজ্ঞতা তৈরি করুন। অথবা পাসথ্রু সক্ষম করুন, যাতে আপনার ভার্চুয়াল দৃশ্য ব্যবহারকারীর বাস্তব-বিশ্বের পরিবেশের সাথে একীভূত হতে পারে।
- PanelEntity : 2D কন্টেন্ট যোগ করুন আপনার 3D দৃশ্যে স্ট্যান্ডার্ড অ্যান্ড্রয়েড লেআউট এবং অ্যাক্টিভিটিগুলিকে স্থানিক প্যানেলে এম্বেড করে যা ভাসতে পারে বা বাস্তব-বিশ্বের পৃষ্ঠে নোঙ্গর করতে পারে।
- GltfModelEntity : আপনার দৃশ্যে 3D মডেল রাখুন, অ্যানিমেট করুন এবং ইন্টারঅ্যাক্ট করুন। SceneCore বিদ্যমান মডেলগুলির সাথে একীকরণের সহজতার জন্য glTF ফাইল বিন্যাস সমর্থন করে।
- স্থানিক অডিও : সম্পূর্ণ নিমজ্জিত, স্থানিক শব্দের জন্য আপনার 3D দৃশ্যে পরিবেষ্টিত এবং পয়েন্ট অডিও উত্স যোগ করুন।
- StereoSurfaceEntity : SceneCore একটি Android সারফেসে রেন্ডার করা বিষয়বস্তুর বাম/ডান চোখের রাউটিং সমর্থন করে। এটি স্টেরিওস্কোপিক বিষয়বস্তুকে পাশে-পাশে বা টপ-বটম ফরম্যাটে রেন্ডার করতে ব্যবহার করা যেতে পারে, যেমন স্টেরিও ফটো, 3D ভিডিও বা অন্যান্য গতিশীলভাবে রেন্ডার করা UI। অ্যাপ্লিকেশন ভিডিও ডিকোডিং জন্য MediaPlayer বা ExoPlayer ব্যবহার করা উচিত.
- কম্পোনেন্ট সিস্টেম: সিনকোর আপনার XR সামগ্রীতে সক্ষমতা যোগ করার জন্য একটি শক্তিশালী এবং নমনীয় উপাদান সিস্টেম অফার করে, যার মধ্যে ব্যবহারকারীদের মডেল এবং প্যানেলের সাথে সরানো, আকার পরিবর্তন করা এবং ইন্টারঅ্যাক্ট করার সুযোগ রয়েছে।
- অ্যাঙ্কর : পাসথ্রু সক্ষম করে, আপনি প্যানেল এবং মডেলগুলিকে প্রকৃত পৃষ্ঠের সাথে সংযুক্ত করতে পারেন, ব্যবহারকারীদের তাদের বাস্তব-বিশ্বের পরিবেশে ভার্চুয়াল সামগ্রীর বিরামহীন একীকরণ প্রদান করে৷
- ব্যবহারকারীর ভঙ্গি: ব্যবহারকারীর অবস্থানের চারপাশে আপনার বিষয়বস্তুকে অভিমুখী করতে ভার্চুয়াল দৃশ্যে ব্যবহারকারীর অবস্থান অ্যাক্সেস করুন।
- স্থানিক সক্ষমতা : সম্পূর্ণরূপে অভিযোজিত অ্যাপ্লিকেশনগুলি তৈরি করুন যা উপলব্ধ থাকলে স্থানিক ক্ষমতার সুবিধা নেয়, যেমন UI সামগ্রীর 3D অবস্থান। শুধু তাই নয়, ব্যবহারকারী কীভাবে তাদের অ্যান্ড্রয়েড এক্সআর ডিভাইস ব্যবহার করছেন তার উপর ভিত্তি করে অভিজ্ঞতা পরিবর্তন করতে আপনার অ্যাপটি অ্যাপটি চালানোর সময় ক্ষমতার পরিবর্তনের জন্য নিরীক্ষণ করতে পারে।
পরিচিত সমস্যা
- বর্তমানে Jetpack SceneCore ব্যবহার করার জন্য 30 এর একটি minSDK প্রয়োজন। একটি সমাধান হিসাবে 23 এর একটি minSDK দিয়ে তৈরি এবং চালানোর জন্য নিম্নলিখিত ম্যানিফেস্ট এন্ট্রি
<uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/>
যোগ করুন। - সেশনটি বিভিন্ন পরিস্থিতিতে অবৈধ হয়ে যেতে পারে যা স্বয়ংক্রিয়ভাবে একটি প্রধান প্যানেলের আকার পরিবর্তন করা, পেরিফেরাল সংযোগ করা এবং আলো এবং অন্ধকার মোডের মধ্যে পরিবর্তন সহ কার্যকলাপ পুনরায় তৈরি করে। আপনি যদি সেশনের অবৈধকরণের সমস্যার সম্মুখীন হন, তাহলে সমাধানের মধ্যে রয়েছে আপনাকে প্রধান প্যানেল অ-আকারযোগ্য করে তোলা, একটি গতিশীল প্যানেল সত্তা ব্যবহার করে, নির্দিষ্ট কনফিগার পরিবর্তনের জন্য কার্যকলাপ বিনোদন অক্ষম করা বা আলো/অন্ধকার মোড থিম পরিবর্তনগুলি অক্ষম করা।
- GltfEntity-এ চলমান এবং পরিবর্তনযোগ্য উপাদান সমর্থিত নয়।
- Entity.getSize() GltfEntity-এ সমর্থিত নয়।
- Jetpack XR অ্যাপগুলিকে AndroidManifest-এ
android.permission.SCENE_UNDERSTANDING
অনুমতির অনুরোধ করতে হবে। - একটি সেশন তৈরি করা শুধুমাত্র একটি Android XR ডিভাইসে সমর্থিত। এই সময়ে, আপনি যদি একটি সেশন তৈরি করেন এবং এটি একটি নন-অ্যান্ড্রয়েড XR ডিভাইসে ব্যবহার করার চেষ্টা করেন, আপনি একটি RuntimeException পাবেন।
- `SpatialEnvironment.setSpatialEnvironmentPreference() এর মাধ্যমে স্কাইবক্সটিকে নাল সেট করার ফলে নথিভুক্ত হিসাবে একটি কঠিন কালো স্কাইবক্স তৈরি হয় না। এর ফলে সিস্টেম ডিফল্ট স্কাইবক্স বা বর্তমান স্কাইবক্সে কোনো পরিবর্তন নাও হতে পারে।
- SceneCore ক্লায়েন্টদের তাদের অ্যাপের নির্ভরতার জন্য তাদের Gradle কনফিগারেশনে
implementation(“com.google.guava:listenablefuture-1.0”)
যোগ করা উচিত। ভবিষ্যতের রিলিজে, সিনকোর এই লাইব্রেরিটিকে একটিapi
নির্ভরতা হিসাবে অন্তর্ভুক্ত করবে যাতে ক্লায়েন্টদের স্পষ্টভাবে এটি ঘোষণা করতে হবে না। - SceneCore ভুলভাবে
com.google.guava:guava-31.1-android
এবংcom.google.protobuf:protobuf-javalite
ট্রানজিটিভ নির্ভরতা হিসেবে অন্তর্ভুক্ত করে। যদি এর ফলে আপনার বিল্ডে ডুপ্লিকেট ক্লাস ত্রুটি হয়, তাহলে এই দুটি নির্ভরতা নিরাপদে বাদ দেওয়া যেতে পারে। - যদি আপনার অ্যাপ SceneCore ব্যবহার করে এবং ProGuard সক্ষম করে, আপনি একটি সেশন তৈরি করার সময় এটি ক্র্যাশ হয়ে যাবে। একটি সমাধান হিসাবে, ProGuard অক্ষম করুন। ProGuard কিভাবে সক্ষম করবেন সে সম্পর্কে আরও তথ্যের জন্য এই নির্দেশিকাটি দেখুন।