Instancing QML Type

Basistyp für Instanztabellen. Mehr...

Import Statement: import QtQuick3D
Since: Qt 6.2
In C++: QQuick3DInstancing
Inherits:

Object3D

Inherited By:

FileInstancing, InstanceList, and RandomInstancing

Eigenschaften

Methoden

Detaillierte Beschreibung

Instanziertes Rendering ermöglicht das Duplizieren eines Modells mit Variationen.

Der Typ Instanzierung definiert eine Tabelle, die angibt, wie jede Instanz im Vergleich zum Basismodell geändert wird. Die Tabelle hat einen Eintrag für jeden Index, der eine Transformationsmatrix, eine Farbe und generische Daten für die Verwendung durch benutzerdefinierte Materialien enthält. Um Instancing zu verwenden, setzen Sie die Eigenschaft instancing eines Modells, um auf ein Instancing-Objekt zu verweisen.

Eine Anwendung kann ein Instancing-Objekt in C++ definieren, indem sie QQuick3DInstancing subclassing, oder sie kann einen der vordefinierten QML-Typen verwenden: InstanceList FileInstancing RandomInstancing Darüber hinaus ist es möglich, eine particle system zu verwenden, um eine Instanzierungstabelle zu definieren, indem die Eigenschaft ModelParticle3D.instanceTable verwendet wird.

Eigenschaft Dokumentation

depthSortingEnabled : bool

Enthält den Wert der aktivierten Tiefensortierung für die Instanztabelle. Wenn aktiviert, werden Instanzen sortiert und von der am weitesten von der Kamera entfernten Instanz zur nächsten gerendert, d.h. von hinten nach vorne. Wenn deaktiviert, was der Standardwert ist, werden die Instanzen in der Reihenfolge gerendert, in der sie in der Instanztabelle angegeben sind.

Hinweis: Die Instanzen werden nur gegeneinander sortiert. Die Instanzen werden nicht gegen andere Objekte in der Szene sortiert.

Hinweis: Die Sortierung erhöht die Frame-Vorbereitungszeit, besonders bei einer großen Anzahl von Instanzen.


hasTransparency : bool

Setzen Sie diese Eigenschaft auf true, wenn die Instanztabelle Alpha-Werte enthält, die beim Rendern des Modells verwendet werden sollen. Diese Eigenschaft macht nur einen Unterschied, wenn das Modell undurchsichtig ist: Wenn das Modell eine transparente material oder eine opacity kleiner als eins hat, wird der Alphawert aus der Tabelle trotzdem verwendet.

Hinweis: Das Aktivieren von Alpha-Blending kann zu Rendering-Problemen führen, wenn sich Instanzen überlappen. Siehe die Dokumentation zu Alpha-Blending und Instanzierung für Details.


instanceCountOverride : int

Setzen Sie diese Eigenschaft, um die Anzahl der Instanzen zu begrenzen, ohne die Instanztabelle neu zu generieren oder neu zu laden. Dies ermöglicht eine sehr kostengünstige Animation der Anzahl der gerenderten Instanzen.


Dokumentation der Methode

[since 6.3] color instanceColor(int index)

Gibt die Farbe der Instanz bei index

Diese Methode wurde in Qt 6.3 eingeführt.

Siehe auch instancePosition, instanceScale, instanceRotation, instanceColor, und instanceCustomData.


[since 6.3] vector3d instanceCustomData(int index)

Gibt die benutzerdefinierten Daten für die Instanz unter index

Diese Methode wurde in Qt 6.3 eingeführt.

Siehe auch instancePosition, instanceScale, instanceRotation, instanceColor, und instanceCustomData.


[since 6.3] vector3d instancePosition(int index)

Gibt die Position der Instanz an index

Diese Methode wurde in Qt 6.3 eingeführt.

Siehe auch instanceScale, instanceRotation, instanceColor, und instanceCustomData.


[since 6.3] quaternion instanceRotation(int index)

Gibt eine Quaternion zurück, die die Drehung der Instanz um index

Diese Methode wurde in Qt 6.3 eingeführt.

Siehe auch instancePosition, instanceScale, instanceRotation, instanceColor, und instanceCustomData.


[since 6.3] vector3d instanceScale(int index)

Gibt den Maßstab der Instanz bei index

Diese Methode wurde in Qt 6.3 eingeführt.

Siehe auch instancePosition, instanceScale, instanceRotation, instanceColor, und instanceCustomData.


© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.