RandomInstancing QML Type

Erzeugt eine zufällige Instanzierungstabelle. Mehr...

Import Statement: import QtQuick3D.Helpers
Since: Qt 6.2
Inherits:

Instancing

Eigenschaften

Detaillierte Beschreibung

Der Typ RandomInstancing bietet eine einfache Möglichkeit, eine große Anzahl von Zufallsinstanzen innerhalb bestimmter Grenzen zu erzeugen. Die Anzahl der Instanzen wird durch die Eigenschaft instanceCount definiert. Die Grenzen werden durch die Eigenschaften position, scale, rotation, color, und customData definiert.

Siehe auch InstanceList.

Dokumentation der Eigenschaften

color : InstanceRange

Die Eigenschaft color definiert den Bereich der Farbvariation für die erzeugten Instanzen. Der Typ ist color. Der Standardwert ist leer, so dass die Farbe weiß ist.

Das Setzen der Eigenschaft colorModel ermöglicht es, z.B. nur gesättigte Farben auszuwählen.

Siehe auch position, rotation, scale, und customData.


colorModel : enumeration

Diese Eigenschaft steuert, wie der Farbbereich interpretiert wird.

Die Instanzfarben werden komponentenweise innerhalb des durch die Farben from und to festgelegten Bereichs erzeugt. Das Farbmodell bestimmt, wie diese Komponenten definiert werden.

KonstanteBeschreibung
RandomInstancing.RGBDie Komponenten sind Rot, Grün, Blau und Alpha, entsprechend dem RGB-Farbmodell.
RandomInstancing.HSVDie Komponenten sind Farbton, Sättigung, Wert und Alpha, entsprechend dem HSV Color Model.
RandomInstancing.HSLDie Komponenten sind Farbton, Sättigung, Helligkeit und Alpha, gemäß HSL Color Model.

Ein Beispiel: Der folgende Farbbereich

color: InstanceRange {
    from: Qt.hsva(0, 0.1, 0.8, 1)
    to: Qt.hsva(1, 0.3, 1, 1)
}

bei Verwendung des Farbmodells HSV eine vollständige Palette von Pastellfarben, bei Verwendung des Farbmodells RGB jedoch nur rosa Schattierungen.

Der Standardwert ist RandomInstancing.RGB

Siehe auch RandomInstancing::color.


customData : InstanceRange

Die Eigenschaft customData definiert den Bereich der benutzerdefinierten Datenvariation für die generierten Instanzen. Der Typ ist vector4d. Der Standardwert ist leer, was dazu führt, dass die generierten Daten [0, 0, 0, 0] sind.

Siehe auch position, color, rotation, scale, und customData.


gridSpacing : vector3d [since 6.9]

Die Eigenschaft gridSpacing definiert den Mindestabstand zwischen den Instanzen, um sicherzustellen, dass sie sich nicht überlappen. Jede Position wird mindestens durch den in gridSpacing angegebenen Wert getrennt.

Wenn die angegebene gridSpacing nicht die gewünschte Anzahl von Instanzen aufnehmen kann, wird die Eigenschaft instanceCount auf die Anzahl von Instanzen reduziert, die ohne Überlappung platziert werden können.

Hinweis: Die Eigenschaft gridSpacing wirkt sich nur auf die Position der Instanzen aus. Die auf die Instanzen angewendete Drehung und Skalierung wird beim Abstandsalgorithmus nicht berücksichtigt.

Der Standardwert ist [0, 0, 0], der keine Einschränkung für überlappende Instanzen vorsieht.

Diese Eigenschaft wurde in Qt 6.9 eingeführt.

Siehe auch position.


instanceCount : int

Die Eigenschaft instanceCount gibt die Anzahl der zu erzeugenden Instanzen an. Das Ändern dieses Wertes wird die gesamte Tabelle neu generieren.

Siehe auch randomSeed.


position : InstanceRange

Die Eigenschaft position definiert die geometrischen Grenzen der erzeugten Instanzen. Der Standardwert ist leer, was zu einer generierten Position von [0, 0, 0] führt.

Siehe auch color, rotation, scale, und customData.


randomSeed : int

Diese Eigenschaft legt den Seed für den Zufallszahlengenerator fest. Die Einstellung auf einen Wert ungleich -1 garantiert, dass die Instanztabelle jedes Mal den gleichen Inhalt hat, wenn sie generiert wird. Beachten Sie, dass das Hinzufügen oder Ändern von Attributen dazu führen kann, dass eine völlig andere Tabelle erzeugt wird.

Der Standardwert ist -1, was dazu führt, dass die Tabelle jedes Mal einen neuen Zufallswert erhält, wenn sie erzeugt wird.


rotation : InstanceRange

Die Eigenschaft Rotation definiert den Rotationsbereich für die erzeugten Instanzen. Der Typ ist vector3d, was einem Euler-Rotationsvektor [xRotation, yRotation, zRotation] entspricht. Der Standardwert ist leer, so dass keine Rotation angewendet wird.

Siehe auch position, color, scale, und customData.


scale : InstanceRange

Die Eigenschaft scale definiert die Skalierungsgrenzen für die erzeugten Instanzen. Der Typ ist vector3d. Setzen Sie InstanceRange.proportional auf true für eine einheitliche Skalierung. Der Standardwert ist leer, wodurch keine Skalierung angewendet wird.

Siehe auch position, color, rotation, scale, und customData.


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