প্রযোজ্য XR ডিভাইস
এই নির্দেশিকা আপনাকে এই ধরনের XR ডিভাইসের জন্য অভিজ্ঞতা তৈরি করতে সাহায্য করে।
SceneCoreEntity হল একটি সাবস্পেস কম্পোজেবল যা
Jetpack SceneCore এবং Compose for XR লাইব্রেরির মধ্যে সংযোগ স্থাপন করে যাতে আপনি
Compose লেআউটে SceneCore-এর মাধ্যমে তৈরি এন্টিটি ব্যবহার করতে পারেন। এটি আপনাকে লোয়ার-লেভেল এন্টিটি ও কাস্টম কম্পোনেন্ট তৈরি করতে দেয় এবং একই সাথে Compose-কে সেইসব এন্টিটির সাইজ, পজিশন, রিপ্যারেন্ট, চাইল্ড যোগ করা ও মডিফায়ার প্রয়োগ করার অনুমতি দেয়।
আপনার লেআউটে এন্টিটি প্লেস করতে SceneCore এন্টিটি ব্যবহার করুন
আপনার লেআউটে এন্টিটি প্লেস করার জন্য কীভাবে SceneCore এন্টিটি ব্যবহার করতে হয় তা নিম্নলিখিত উদাহরণে দেখানো হয়েছে:
val virtualPixelDensity = session.scene.virtualPixelDensity Subspace { SceneCoreEntity( modifier = SubspaceModifier.offset(x = 50.dp), factory = { SurfaceEntity.create( session = session, pose = Pose.Identity, stereoMode = SurfaceEntity.StereoMode.MONO ) }, update = { entity -> // Compose state changes may be applied to the SceneCore entity here. entity.stereoMode = SurfaceEntity.StereoMode.SIDE_BY_SIDE }, sizeAdapter = object : SceneCoreEntitySizeAdapter<SurfaceEntity> { override fun onLayoutSizeChanged( entity: SurfaceEntity, size: IntVolumeSize ) { val extents = FloatSize2d( size.width.toFloat(), size.height.toFloat() ) entity.shape = SurfaceEntity.Shape.Quad(extents) } }, ) { // Content here will be children of the SceneCoreEntity // in the scene graph. } }
কোড সম্পর্কে গুরুত্বপূর্ণ পয়েন্ট
- ফ্যাক্টরি ব্লক: ফ্যাক্টরি ব্লকে আপনি SceneCore থেকে অন্তর্নিহিত
SurfaceEntityএন্টিটি শুরু করেন। - আপডেট ব্লক: আপনার Compose স্টেট পরিবর্তনের উত্তরে এন্টিটির প্রপার্টি পরিবর্তন করতে আপডেট ব্লক ব্যবহার করুন।
- সাইজ অ্যাডাপ্টেশন:
sizeAdapterকম্পোজ লেআউট সিস্টেমে এন্টিটির ডাইমেনশন ফেরত পাঠায়।
অতিরিক্ত তথ্য
SceneCoreEntity-এর মধ্যে কীভাবে 3D কন্টেন্ট লোড করতে হয় তা আরও ভালোভাবে বুঝতে আপনার অ্যাপে 3D মডেল যোগ করুন দেখুন।