InstanceList QML 类型

允许在 QML 中手动指定实例化。 更多...

导入语句import QtQuick3D
继承

实例化

属性

详细描述

InstanceList 类型允许在 QML 中手动定义实例表。

以下示例创建一个包含两个项目的实例表

InstanceList {
    id: manualInstancing
    instances: [
        InstanceListEntry {
            position: Qt.vector3d(0, 0, -60)
            eulerRotation: Qt.vector3d(-10, 0, 30)
            color: "red"
        },
        InstanceListEntry {
            position: Qt.vector3d(50, 10, 100)
            eulerRotation: Qt.vector3d(0, 180, 0)
            color: "green"
        }
    ]
}

每个 InstanceListEntry 是一个可以具有属性绑定和动画的对象。这提供了很大的灵活性,但也造成了内存开销。因此,不建议使用 InstanceList 用于包含数千(或数百万)个实例的进程式生成的表。此外,对条目中任何属性的改变都会导致整个实例表被重新计算并上传到 GPU。

另请参阅 RandomInstancingQQuick3DInstancing

属性文档

instanceCount : int [since 6.3]

此只读属性包含列表中的实例数量。

此属性自 Qt 6.3 起引入。


instances : List<QtQuick3D::InstanceListEntry>

此属性包含实例定义的列表。修改此列表或其任何元素都会导致更新实例表。


© 2024 The Qt Company Ltd. 此处包含的文档贡献是各自所有者的版权。此处提供的文档是根据自由软件基金会发布、版本 1.3 的 GNU 自由文档许可证 许可的。Qt 及其相关标志是 The Qt Company Ltd. 在芬兰和/或其他国家的商标。所有其他商标均为其各自所有者的财产。