Sur cette page

Utilisation du système de particules « Qt Quick »

La documentation relative à tous les types de systèmes de particules est disponible sur la page du module QtQuick.Particles.

Pour utiliser les types du module « particles », importez le module à l'aide de la ligne suivante :

import QtQuick.Particles

Le système de particules

Ce système de particules contient quatre types principaux de types QML : ParticleSystem, Painters, Emitters et Affectors.

Le type « ParticleSystem » relie tous les autres types entre eux et gère la timeline partagée. Les « Painters », « Emitters » et « Affectors » doivent tous avoir la même « ParticleSystem » pour pouvoir interagir les uns avec les autres.

Vous pouvez avoir autant de ParticleSystems que vous le souhaitez, sous réserve de cette contrainte. La séparation logique consiste donc à disposer d’un seul ParticleSystem pour tous les types que vous souhaitez faire interagir, ou d’un seul si le nombre de types est faible et qu’ils restent facilement gérables.

Particules logiques

Tous les types de systèmes de particules agissent sur des « particules logiques ». Chaque particule possède une représentation logique au sein du système de particules, et c’est sur celle-ci que les types agissent. Toutes les particules logiques ne doivent pas nécessairement être visualisées, et certaines particules logiques peuvent entraîner l’affichage de plusieurs particules visuelles à l’écran.

Groupes de particules

Chaque particule logique appartient à un groupe de particules, et chaque groupe est identifié par un nom. Si aucun autre groupe n’a été spécifié, une particule logique appartient au groupe nommé « » (la chaîne vide), qui se comporte de la même manière que n’importe quel autre groupe. Les groupes sont utilisés à deux fins : pour contrôler les particules et parce qu’ils peuvent présenter des transitions d’état stochastiques.

Les groupes contrôlent les particules car il est impossible d’accéder à une particule individuelle avec n’importe quel type de système de particules. Tous les types agissent sur les groupes dans leur ensemble ; ainsi, toute particule devant se comporter différemment des autres (en dehors de la variation stochastique habituelle des paramètres) devra appartenir à un groupe différent.

Les particules peuvent également changer de groupe de manière dynamique. Lorsque cela se produit, la trajectoire des particules reste inchangée, mais celles-ci peuvent être influencées par différents ParticlePainters ou Affectors. Le groupe d’une particule peut être modifié par un Affector, ou bien des transitions d’état stochastiques peuvent être définies dans un type d’ ParticleGroup.

En règle générale, les groupes ne doivent être définis dans un « ParticleGroup » que s’ils nécessitent des transitions d’état stochastiques. Sinon, il suffit que les groupes soient simplement définis par les chaînes de caractères utilisées dans les propriétés « particle » ou « particles » des types.

Émetteurs

Les émetteurs émettent des particules logiques dans le système. Ces particules ont une trajectoire et une durée de vie, mais ne sont pas visualisées. Elles sont émises à partir de l’emplacement de l’émetteur.

Les « TrailEmitters » constituent un type particulier d’émetteur qui émet des particules à partir de l’emplacement d’autres particules logiques. Toute particule logique du type spécifié, située dans les limites d’un « TrailEmitter », provoquera l’émission de particules depuis son emplacement, comme s’il y avait sur elle un émetteur doté des mêmes propriétés que l’« TrailEmitter ».

ParticlePainters

Les « Painters » sont les types qui visualisent les particules logiques. Pour chaque particule logique des groupes qui lui sont attribués, se trouvant dans ses limites (ou à l’extérieur, si vous ne définissez pas la propriété « clip » sur le type), celle-ci sera visualisée d’une manière qui dépend du type d’« ParticlePainter ». Le type de base ` ParticlePainter ` ne dessine rien. ` ImageParticle ` affiche une image à l’emplacement de la particule. ` ItemParticle ` vous permet de visualiser des particules logiques à l’aide de délégués QML arbitraires. `ModelParticle` est similaire, mais coordonne les données du modèle entre les délégués de la même manière que les classes de vue.

Comme l’ ParticlePainter est le type QML permettant de visualiser les particules dans la scène, c’est sa valeur Z qui est importante lorsqu’on cherche à placer visuellement des particules au-dessus ou en dessous d’autres types.

Affecteurs

Les affecteurs sont des composants facultatifs d’un système de particules. Ils peuvent effectuer diverses manipulations sur la simulation, telles que modifier la trajectoire des particules ou mettre fin prématurément à leur durée de vie dans la simulation. Pour des raisons de performances, il est recommandé de ne pas utiliser d’affecteurs dans les systèmes de particules à grand volume.

Paramètres stochastiques

Les systèmes de particules tirant parti du contrôle stochastique des paramètres sur un grand nombre d’instances, plusieurs types auxiliaires stochastiques sont utilisés par le système de particules. Si vous ne souhaitez aucune variation stochastique de ces paramètres, ne spécifiez aucune variation pour ces types.

Directions

Les directions peuvent être spécifiées par angle et amplitude, ou par composantes x et y. Bien que n’importe quelle direction puisse être spécifiée avec l’une ou l’autre méthode, il existe une différence significative entre faire varier les composantes x et y et faire varier l’angle et l’amplitude. La variation des composantes x et y donnera lieu à une zone rectangulaire autour du point spécifié, tandis que la variation de l’angle donnera lieu à un arc centré sur le point spécifié.

Formes

Le système de particules contient plusieurs types représentant des formes. Ces types ne visualisent pas les formes et servent à sélectionner un point aléatoire à l’intérieur de la forme. Si vous souhaitez un point spécifique sans aléatoire, utilisez une forme de largeur 0 et de hauteur 0 (ce qui est la valeur par défaut). Sinon, vous pouvez utiliser les types de formes pour spécifier une zone, de sorte que le résultat puisse utiliser un point aléatoire sélectionné dans cette zone.

Voir également Exemples d’Qt Quick Particles s – Émetteurs, Exemples d’affecteurs, Exemples de particules d’image et Exemples d’affecteurs – Système.

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