Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

ParticleProcessMaterial 2D Usage

Process material properties

ParticleProcessMaterial properties

Min, max, and curve properties

The properties in this material control how particles behave and change over their lifetime. A lot of them have Min, Max, and Curve values that allow you to fine-tune their behavior. The relationship between these values is this: When a particle is spawned, the property is set with a random value between Min and Max. If Min and Max are the same, the value will always be the same for every particle. If the Curve is also set, the value of the property will be multiplied by the value of the curve at the current point in a particle's lifetime. Use the curve to change a property over the particle lifetime. Very complex behavior can be expressed this way.

Note

This page covers how to use ParticleProcessMaterial for 2D scenes specifically. For information on how to use it in a 3D scene see Process material properties.

Lifetime Randomness

The Lifetime Randomness property controls how much randomness to apply to each particle's lifetime. A value of 0 means there is no randomness at all and all particles live for the same amount of time, set by the Lifetime property. A value of 1 means that a particle's lifetime is completely random within the range of [0.0, Lifetime].

Particle Flags

Spawn

Angle

Détermine l'angle initial de la particule (en degrés). Ce paramètre est surtout utile randomisé.

../../_images/paranim11.gif

Velocity

Direction

C'est la direction de base dans laquelle les particules sont émises. La valeur par défaut est Vector3(1, 0, 0), ce qui fait que les particules émettent vers la droite. Cependant, avec les paramètres de gravité par défaut, les particules vont directement vers le bas.

../../_images/direction1.png

Pour que cette propriété soit perceptible, il faut une vitesse initiale supérieure à 0. Ici, nous avons fixé la vitesse initiale à 40. Vous remarquerez que les particules sont émises vers la droite, puis descendent à cause de la gravité.

../../_images/direction2.png

Propagation

Ce paramètre est l'angle en degrés qui sera ajouté aléatoirement dans l'une ou l'autre direction à la Direction de base. Une propagation de 180 émettra dans toutes les directions (+/- 180). Pour que la propagation fasse quoi que ce soit, le paramètre "Initial Velocity" doit être supérieur à 0.

../../_images/paranim3.gif

Platitude

Cette propriété n'est utile que pour les particules 3D.

Vélocité initiale

La vitesse initiale est la vitesse à laquelle les particules seront émises (en pixels/sec). La vitesse peut être modifiée ultérieurement par la gravité ou d'autres accélérations (comme décrit plus loin).

../../_images/paranim4.gif

Animated Velocity

Vélocité angulaire

Angular velocity is the speed at which particles rotate around their center (in degrees/sec).

../../_images/paranim5.gif

Vélocité d'orbite

La vitesse orbitale est utilisée pour faire tourner les particules autour de leur centre.

../../_images/paranim6.gif

Accelerations

Gravité

La gravité appliquée à chaque particule.

../../_images/paranim7.gif

Accélération linéaire

L'accélération linéaire appliquée à chaque particule.

Accélération radiale

Si cette accélération est positive, les particules sont accélérées en s'éloignant du centre. Si négative, elles sont attirées vers lui.

../../_images/paranim8.gif

Accélération Tangentielle

Cette accélération utilisera le vecteur tangent au centre. La combinaison avec une accélération radiale peut produire de beaux effets.

../../_images/paranim9.gif

Amortissement

L'amortissement applique un frottement aux particules, les forçant à s'arrêter. Il est particulièrement utile pour les étincelles ou les explosions, qui commencent généralement avec une vitesse linéaire élevée et s'arrêtent ensuite lorsqu'elles s'estompent.

../../_images/paranim10.gif

Afficher

Mode mise à l'échelle

Détermine l’échelle initiale des particules.

../../_images/paranim12.gif

Color Curves

Couleur

Utilisé pour changer la couleur des particules émises.

Hue Variation

La valeur Variation définit la variation de teinte initiale appliquée à chaque particule. La valeur Variation Random contrôle le ratio de la variation aléatoire de teinte.

Animation

Note

L'animation flipbook de particules n'est effective que si le CanvasItemMaterial utilisé sur le nœud GPUParticles2D ou CPUParticles2D a été configured accordingly.

To set up the particle flipbook for linear playback, set the Speed Min and Speed Max values to 1:

Mise en place d'une animation de particules pour la lecture pendant la durée de vie de la particule

Mise en place d'une animation de particules pour la lecture pendant la durée de vie de la particule

Par défaut, la boucle est désactivée. Si la particule a terminé de lire l'animation avant la fin de sa durée de vie, elle continuera d'utiliser le dernier frame du flipbook (qui peut être entièrement transparent selon la conception de la texture du flipbook). Si la boucle est activée, l'animation reviendra au premier frame et continuera de jouer.

En fonction du nombre d'images contenues dans votre feuille de sprites et de la durée de vie de la particule, l'animation pourrait ne pas sembler fluide. La relation entre la durée de vie de la particule, la vitesse de l'animation et le nombre d'images dans la feuille de sprites est la suivante :

Note

À une vitesse d'animation de 1.0, l'animation atteindra la dernière image de la séquence au moment où la temps de vie de la particule se finit.

\[Animation\ FPS = \frac{Number\ of\ images}{Lifetime}\]

If you wish the particle flipbook to be used as a source of random particle textures for every particle, keep the speed values at 0 and set Offset Max to 1 instead:

Configuration de l'animation des particules avec un décalage aléatoire lors de l'émission

Configuration de l'animation des particules avec un décalage aléatoire lors de l'émission

Note that the GPUParticles2D node's Fixed FPS also affects animation playback. For smooth animation playback, it's recommended to set it to 0 so that the particle is simulated on every rendered frame. If this is not an option for your use case, set Fixed FPS to be equal to the effective framerate used by the flipbook animation (see above for the formula).

Formes d'émission

ParticleProcessMaterials allow you to set an Emission Mask, which dictates the area and direction in which particles are emitted. These can be generated from textures in your project.

Assurez-vous qu'un ParticleProcessMaterial est défini, et que le nœud GPUParticles2D est sélectionné. Un menu "Particules" devrait apparaître dans la barre d'outils :

../../_images/emission_shapes1.webp

Ouvrez-le et sélectionnez "Load Emission Mask" :

../../_images/emission_shapes2.webp

Sélectionnez ensuite la texture que vous voulez utiliser comme masque :

../../_images/emission_shapes3.webp

Une boîte de dialogue avec plusieurs paramètres apparaît.

Masque d'émission

Trois types de masques d'émission peuvent être générés à partir d'une texture :

  • Solid Pixels : les Particles apparaîtront dans n’importe quelle zone de la texture, à l’exclusion des zones transparentes.

../../_images/emission_mask_solid.gif
  • Border Pixels (Bordure Pixels) : Les particules apparaîtront à partir des bords extérieurs de la texture.

../../_images/emission_mask_border.gif
  • Directed Border Pixels (Pixels de bordures dirigés) : Similaire aux pixels de bordures, mais ajoute des informations supplémentaires au masque pour permettre aux particules d'émettre loin des bordures. Notez qu’il faut définir une vitesse initiale Initial Velocity afin de l'utiliser.

../../_images/emission_mask_directed_border.gif

Couleurs d'émission

"Capture from Pixel" fera en sorte que les particules hériteront de la couleur du masque à leur point de naissance.

Once you click "OK", the mask will be generated and set to the ParticleProcessMaterial, under Spawn and then Position

../../_images/emission_shapes4.webp

Toutes les valeurs de cette section ont été générées automatiquement par le menu "Load Emission Mask", ils devraient généralement être laissés seuls.

Note

Une image ne devrait pas être ajoutée directement à Point Texture ou Color Texture. Le menu "Load Emission Mask" devrait toujours être utilisé à la place.