Sur cette page

Utilisation du système de particules Qt Quick

La documentation relative à tous les types du système de particules se trouve sur la page du module QtQuick.Particles.

Pour utiliser les types du module particules, importez le module avec la ligne suivante :

import QtQuick.Particles

Le système de particules

Ce système de particules contient quatre types principaux de types QML : ParticleSystem Les particules, les peintres, les émetteurs et les affecteurs.

Le type ParticleSystem relie tous les autres types et gère la ligne de temps partagée. Les peintres, les émetteurs et les affecteurs doivent tous avoir le même ParticleSystem pour pouvoir interagir les uns avec les autres.

Vous pouvez avoir autant de systèmes de particules que vous le souhaitez, sous réserve de cette contrainte. La séparation logique consiste donc à avoir un seul ParticleSystem pour tous les types avec lesquels vous souhaitez interagir, ou un seul si le nombre de types est faible et qu'il est facile de les contrôler.

Particules logiques

Tous les types de systèmes de particules agissent sur des "particules logiques". Chaque particule a une représentation logique dans le système de particules, et c'est sur cette représentation que les types agissent. Toutes les particules logiques n'ont pas besoin d'être visualisées, et certaines particules logiques peuvent entraîner l'affichage de plusieurs particules à l'écran.

Groupes de particules

Chaque particule logique est membre d'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 portant le nom "" (la chaîne vide), qui agit de la même manière que tout autre groupe. Les groupes sont utilisés à deux fins : pour contrôler les particules et parce qu'ils peuvent avoir des transitions d'état stochastiques.

Les groupes contrôlent les particules parce qu'il n'est jamais possible d'accéder à une particule individuelle avec l'un des types du système de particules. Tous les types agissent sur les groupes dans leur ensemble, et donc toutes les particules qui doivent se comporter différemment les unes des autres (en dehors de la variation stochastique habituelle des paramètres) devront se trouver dans des groupes différents.

Les particules peuvent également changer de groupe de manière dynamique. Lorsque cela se produit, la trajectoire des particules n'est pas modifiée, mais elle peut être influencée par différents ParticlePainters ou Affectors. Les particules peuvent voir leur groupe modifié par un Affecteur, ou des transitions d'état stochastiques peuvent être définies dans un type ParticleGroup.

En règle générale, les groupes ne doivent être définis dans un site ParticleGroup que s'ils nécessitent des transitions d'état stochastiques. Sinon, il suffit que les groupes soient définis simplement par les chaînes de caractères utilisées dans les propriétés des particules 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 pas de visualisation. Ces particules sont émises à partir de l'emplacement de l'émetteur.

Les émetteurs de traces sont un type spécial d'émetteurs qui émettent des particules à partir de l'emplacement d'autres particules logiques. Toute particule logique du type suivi se trouvant dans les limites d'un TrailEmitter provoquera l'émission de particules à partir de son emplacement, comme s'il y avait un émetteur sur cette particule avec les mêmes propriétés que le TrailEmitter.

Peintres de particules

Les peintres sont les types qui visualisent les particules logiques. Pour chaque particule logique des groupes qui lui sont attribués et qui se trouvent dans ses limites (ou en dehors, si vous ne définissez pas la propriété clip sur le type), elle sera visualisée d'une manière qui dépend du type de ParticlePainter. Le type de base ParticlePainter ne dessine rien. ImageParticle rend une image à l'emplacement de la particule. ItemParticle vous permet de visualiser les 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 ParticlePainter est le type QML qui visualise les particules dans la scène, c'est sa valeur Z qui est importante lorsque l'on essaie de placer visuellement des particules au-dessus ou au-dessous d'autres types.

Affecteurs

Les affecteurs sont un composant optionnel d'un système de particules. Ils peuvent effectuer diverses manipulations dans la simulation, comme modifier la trajectoire des particules ou mettre fin prématurément à leur vie dans la simulation. Pour des raisons de performances, il est recommandé de ne pas utiliser les affecteurs dans les systèmes de particules à grand volume.

Paramètres stochastiques

Les systèmes de particules bénéficiant d'un contrôle stochastique des paramètres sur un grand nombre d'instances, plusieurs types d'aides stochastiques sont utilisés par le système de particules. Si vous ne souhaitez pas de variation stochastique de ces paramètres, ne spécifiez aucune variation de ces types.

Directions

Les directions peuvent être spécifiées par l'angle et la magnitude, ou par les composantes x et y. Bien qu'il soit possible de spécifier n'importe quelle direction avec l'une ou l'autre méthode, il existe une différence significative entre la variation des composantes x et y et la variation de l'angle et de la magnitude. En faisant varier les composantes x et y, on obtient une zone rectangulaire autour du point spécifié, tandis qu'en faisant varier l'angle, on obtient un arc centré sur le point spécifié.

Formes

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

Voir également Qt Quick Exemples de particules - é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.