كيانات SceneCore

أجهزة XR المشمولة
تساعدك هذه الإرشادات في إنشاء تجارب لهذه الأنواع من أجهزة XR.
سماعات الرأس بنظام الواقع الممتد
نظارات سلكية بنظام الواقع الممتد

SceneCoreEntity هي دالة مركّبة للمساحة الفرعية تربط بين مكتبتَي Jetpack SceneCore وCompose for XR لتتمكّن من استخدام الكيانات التي تم إنشاؤها باستخدام SceneCore في تصاميم Compose. يتيح لك ذلك إنشاء كيانات ذات مستوى أدنى ومكوّنات مخصّصة مع السماح لـ 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.
    }
}

نقاط رئيسية حول الرمز

  • مجموعة المصنع: هي المكان الذي تتم فيه تهيئة كيان SurfaceEntity الأساسي من SceneCore.
  • كتلة التعديل: استخدِم كتلة التعديل لتعديل خصائص الكيان استجابةً للتغييرات في حالة Compose.
  • تعديل الحجم: يرسل sizeAdapter أبعاد العنصر إلى نظام تنسيق Compose.

معلومات إضافية