InstanceList QML Type

QML でインスタンスを手動で指定できるようにします。詳細...

Import Statement: import QtQuick3D
Inherits:

Instancing

プロパティ

詳細説明

InstanceList型を使うと、QMLでインスタンステーブルを手動で定義することができます。

以下の例では、2つの項目を持つインスタンステーブルを作成しています:

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"
        }
    ]
}

InstanceListに子プロパティを追加するだけで、インスタンスプロパティを生成することも可能です。次の例は前の例と同じです:

InstanceList {
    id: manualInstancing
    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 にアップロードされます。

RandomInstancing およびQQuick3DInstancingも参照してください

プロパティ・ドキュメンテーション

instanceCount : int [since 6.3]

この読み取り専用プロパティには、リスト内のインスタンス数が含まれます。

このプロパティは Qt 6.3 で導入されました。


instances : List<QtQuick3D::InstanceListEntry> [default]

このプロパティには、インスタンス定義のリストが含まれます。このリストやその要素を変更すると、インスタンステーブルが更新されます。


このプロパティは、Qt 6.3 で導入されました。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。