Instancing QML Type (Uncreatable)
Basistyp für Instanztabellen. Mehr...
| Import Statement: | import QtQuick3D |
| Since: | Qt 6.2 |
| In C++: | QQuick3DInstancing |
| Inherits: | |
| Inherited By: |
Hinweis: Dies ist ein nicht erstellbarer Typ. Er kann in QML nicht instanziiert werden.
Eigenschaften
- depthSortingEnabled : bool
- hasTransparency : bool
- instanceCountOverride : int
- shadowBoundsMaximum : vector3d
- shadowBoundsMinimum : vector3d
Methoden
- color instanceColor(int index)
(since 6.3) - vector3d instanceCustomData(int index)
(since 6.3) - vector3d instancePosition(int index)
(since 6.3) - quaternion instanceRotation(int index)
(since 6.3) - vector3d instanceScale(int index)
(since 6.3)
Ausführliche Beschreibung
Das Instanz-Rendering ermöglicht das Duplizieren eines Modells mit Variationen.
Der Instancing-Typ definiert eine Tabelle, die festlegt, wie jede Instanz relativ zum Basismodell modifiziert wird. Die Tabelle enthält für jeden Index einen Eintrag mit einer Transformationsmatrix, einer Farbe und generischen Daten zur Verwendung durch benutzerdefinierte Materialien. Um Instancing zu verwenden, setzen Sie die Eigenschaft „ instancing “ eines Modells so, dass sie auf ein Instancing-Objekt verweist.
Eine Anwendung kann ein Instancing-Objekt in C++ definieren, indem sie eine Unterklasse von ` QQuick3DInstancing` erstellt, oder sie kann einen der vordefinierten QML-Typen verwenden: ` InstanceList `, ` FileInstancing` oder ` RandomInstancing`. Darüber hinaus ist es möglich, ein ` particle system ` zu verwenden, um mithilfe der Eigenschaft ` ModelParticle3D.instanceTable ` eine Instanzierungstabelle zu definieren.
Dokumentation zu den Eigenschaften
depthSortingEnabled : bool
Speichert den Wert für die aktivierte Tiefensortierung der Instanztabelle. Wenn diese Option aktiviert ist, werden die Instanzen von der am weitesten von der Kamera entfernten Instanz zur nächstgelegenen sortiert und gerendert, d. h. von hinten nach vorne. Ist die Option deaktiviert (Standardeinstellung), werden die Instanzen in der Reihenfolge gerendert, in der sie in der Instanztabelle angegeben sind.
Hinweis: Die Instanzen werden nur untereinander sortiert. Sie werden nicht im Vergleich zu anderen Objekten in der Szene sortiert.
Hinweis: Die Sortierung erhöht die Vorbereitungszeit pro Bild, insbesondere bei einer großen Anzahl von Instanzen.
hasTransparency : bool
Setzen Sie diese Eigenschaft auf „true“, wenn die Instanzierungstabelle Alpha-Werte enthält, die beim Rendern des Modells verwendet werden sollen. Diese Eigenschaft hat nur dann Auswirkungen, wenn das Modell undurchsichtig ist: Wenn das Modell einen transparenten „ material “ oder einen „ opacity “-Wert kleiner als eins aufweist, wird unabhängig davon der Alpha-Wert aus der Tabelle verwendet.
Hinweis: Das Aktivieren des Alpha-Blendings kann zu Darstellungsproblemen führen, wenn sich Instanzen überlappen. Weitere Informationen finden Sie in der Dokumentation zu Alpha-Blending und Instanzierung.
instanceCountOverride : int
Legen Sie diese Eigenschaft fest, um die Anzahl der Instanzen zu begrenzen, ohne die Instanztabelle neu zu generieren oder erneut hochzuladen. Dies ermöglicht eine sehr ressourcenschonende Animation der Anzahl der gerenderten Instanzen.
shadowBoundsMaximum : vector3d
Legt die maximalen Grenzen fest, die bei der Berechnung der Schattenkartengrenzen der Modelle in der Instanztabelle verwendet werden.
Standardwert: (-1, -1, -1)
Hinweis: Diese Eigenschaft ist nur aktiviert, wenn die entsprechenden Komponenten von „ Instancing::shadowBoundsMinimum “ kleiner sind als die in „Instancing::shadowBoundsMaximum“. Andernfalls werden die Begrenzungen automatisch berechnet.
Siehe auch „ shadowBoundsMinimum “.
shadowBoundsMinimum : vector3d
Legt die Mindestgrenzen fest, die bei der Berechnung der Schattenkartengrenzen der Modelle in der Instanztabelle verwendet werden.
Standardwert: (1, 1, 1)
Hinweis: Diese Eigenschaft ist nur aktiviert, wenn die entsprechenden Komponenten von `Instancing::shadowBoundsMinimum` kleiner sind als die in ` Instancing::shadowBoundsMaximum`. Andernfalls werden die Begrenzungen automatisch berechnet.
Siehe auch „ shadowBoundsMaximum “.
Methodendokumentation
[since 6.3] color instanceColor(int index)
Gibt die Farbe der Instanz an der Position 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 ein Quaternion zurück, das 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 Skalierungsfaktor der Instanz zurück unter index
Diese Methode wurde in Qt 6.3 eingeführt.
Siehe auch instancePosition, instanceScale, instanceRotation, instanceColor sowie instanceCustomData.
© 2026 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.