Thực thể SceneCore

Các thiết bị XR được hỗ trợ
Hướng dẫn này giúp bạn xây dựng các trải nghiệm cho những loại thiết bị XR sau.
Thiết bị đeo đầu XR
Kính thông minh XR có dây

SceneCoreEntity là một thành phần kết hợp không gian con kết nối thư viện Jetpack SceneCore và Compose cho XR để bạn có thể sử dụng các thực thể được tạo bằng SceneCore trong bố cục Compose. Điều này cho phép bạn xây dựng các thực thể cấp thấp hơn và các thành phần tuỳ chỉnh, đồng thời cho phép Compose định kích thước, định vị, thay đổi thành phần mẹ, thêm thành phần con và áp dụng đối tượng sửa đổi cho các thực thể đó.

Sử dụng thực thể SceneCore để đặt các thực thể trong bố cục

Ví dụ sau đây cho thấy cách sử dụng thực thể SceneCore để đặt các thực thể vào bố cục:

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.
    }
}

Các điểm chính về mã

  • Khối nhà máy: Khối nhà máy là nơi bạn khởi chạy thực thể SurfaceEntity cơ bản từ SceneCore.
  • Khối cập nhật: Sử dụng khối cập nhật để sửa đổi các thuộc tính của thực thể nhằm phản hồi các thay đổi trong trạng thái Compose.
  • Điều chỉnh kích thước: sizeAdapter truyền kích thước của thực thể trở lại hệ thống bố cục Compose.

Thông tin khác