Sur cette page

RandomInstancing QML Type

Génère une table d'instanciation aléatoire. En savoir plus...

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

Instancing

Propriétés

Description détaillée

Le type RandomInstancing permet de générer facilement un grand nombre d’instances aléatoires dans des limites définies. Le nombre d’instances est défini par la propriété instanceCount. Les limites sont définies par les propriétés position, scale, rotation, color et customData.

Voir également InstanceList.

Documentation sur les propriétés

color : InstanceRange

La propriété « color » définit la gamme de variations de couleur pour les instances générées. Son type est « color ». La valeur par défaut est vide, ce qui fait que la couleur est le blanc.

La définition de la propriété « colorModel » permet, par exemple, de ne sélectionner que des couleurs saturées.

Voir également position, rotation, scale et customData.

colorModel : enumeration

Cette propriété détermine la manière dont la gamme de couleurs est interprétée.

Les couleurs de l'instance sont générées composant par composant dans la gamme déterminée par les couleurs « from » et « to ». Le modèle de couleur détermine la manière dont ces composants sont définis.

ConstanteDescription
RandomInstancing.RGBLes composantes sont le rouge, le vert, le bleu et l’alpha, conformément au modèle de couleur RVB.
RandomInstancing.HSVLes composantes sont la teinte, la saturation, la luminosité et l'alpha, conformément au modèle de couleur « HSV Color Model ».
RandomInstancing.HSLLes composantes sont la teinte, la saturation, la luminosité et l'alpha, conformément à l'HSL Color Model.

À titre d’exemple, la gamme de couleurs suivante

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

générera une gamme complète de couleurs pastel avec le modèle de couleur HSV, mais uniquement des nuances de rose avec le modèle de couleur RGB.

La valeur par défaut est RandomInstancing.RGB

Voir également RandomInstancing::color.

customData : InstanceRange

La propriété `customData` définit la plage de variation des données personnalisées pour les instances générées. Son type est ` vector4d`. La valeur par défaut est vide, ce qui fait que les données générées sont ` [0, 0, 0, 0]`.

Voir également position, color, rotation et scale.

gridSpacing : vector3d [since 6.9]

La propriété `gridSpacing` définit l'espacement minimal entre les instances, garantissant ainsi qu'elles ne se chevauchent pas. Chaque position sera séparée d'au moins la valeur spécifiée dans ` gridSpacing`.

Si la valeur spécifiée pour « gridSpacing » ne permet pas d’accueillir le nombre d’instances demandé, la propriété « instanceCount » sera réduite au nombre d’instances pouvant être placées sans chevauchement.

Remarque : la propriété gridSpacing n'affecte que la position des instances. La rotation et la mise à l'échelle appliquées aux instances ne sont pas prises en compte dans l'algorithme d'espacement.

La valeur par défaut est ` [0, 0, 0]`, ce qui n’impose aucune restriction sur le chevauchement des instances.

Cette propriété a été introduite dans Qt 6.9.

Voir également position.

instanceCount : int

La propriété `instanceCount` indique le nombre d'instances à générer. La modification de cette valeur entraînera la régénération de l'ensemble du tableau.

Voir également randomSeed.

position : InstanceRange

La propriété « position » définit les limites géométriques des instances générées. La valeur par défaut est vide, ce qui entraîne la génération d’une position « [0, 0, 0] ».

Voir également color, rotation, scale et customData.

randomSeed : int

Cette propriété définit la graine du générateur de nombres aléatoires. En lui attribuant une valeur différente de -1, on garantit que la table d’instances aura le même contenu à chaque génération. Notez que l’ajout ou la modification d’attributs peut entraîner la génération d’une table complètement différente.

La valeur par défaut est -1, ce qui fait que la table reçoit une nouvelle valeur aléatoire à chaque génération.

rotation : InstanceRange

La propriété « rotation » définit la plage de rotation des instances générées. Son type est « vector3d », ce qui correspond à un vecteur de rotation d'Euler « [xRotation, yRotation, zRotation] ». La valeur par défaut est vide, ce qui signifie qu'aucune rotation n'est appliquée.

Voir également position, color, scale et customData.

scale : InstanceRange

La propriété « scale » définit les limites de mise à l'échelle des instances générées. Le type est « vector3d ». Définissez « InstanceRange.proportional » sur « true » pour une mise à l'échelle uniforme. La valeur par défaut est vide, ce qui signifie qu'aucune mise à l'échelle n'est appliquée.

Voir également position, color, rotation et customData.

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