Un ParticleEmitter est un objet qui émet des images 2D personnalisables (particules) dans le monde, utile pour simuler des effets spéciaux comme le feu, la fumée et les étincelles.
Créer des émetteurs de particules
Vous pouvez parenté un ParticleEmitter à une Attachment ou à un objet de la classe BasePart. Lorsqu'il est parenté à un BasePart, les particules apparaissent aléatoirement dans la boîte englobante de la pièce ou dans sa forme; lorsqu'il est parenté à une Attachment, les particules apparaissent à la position de l'attachement.
De plus, la propriété EmissionDirection détermine la face (Enum.NormalId) d'émission lorsque l'émetteur est parenté à un BasePart. Lorsque vous changez cette propriété, vous changez également la direction d'émission des particules.
Pour créer un émetteur de particules sur une pièce ou un attachement :
Dans la fenêtre Explorer, survolez la pièce ou l'attachement et cliquez sur le bouton ⊕. Un menu contextuel s'affiche.
Dans le menu, insérez un ParticleEmitter. L'émetteur de particules émet immédiatement des particules dans la zone de la pièce ou depuis la position de l'attachement.

Personnaliser les particules
En expérimentant avec les propriétés suivantes, vous pouvez personnaliser l'apparence visuelle d'une particule pour créer des éléments de gameplay uniques comme des volcans explosifs, de la poussière magique, et des particules de poussière.
Texture
La propriété Texture rendra l'image que chaque particule affiche. Par défaut, les émetteurs de particules ont des particules avec une texture de scintillement blanche, mais vous pouvez la changer pour toute autre texture afin d'obtenir des effets intéressants.
Si vous créez une image à utiliser comme texture de particule, il est préférable d'utiliser le format .png avec un fond transparent. Si votre texture est en niveaux de gris sans canal alpha, essayez de régler la propriété LightEmission de l'émetteur de particules à 1 pour cacher les régions plus sombres.
Pour insérer une image dans un émetteur de particules :
Dans le menu Fenêtre de Studio ou sur la barre d'outils de l'onglet Accueil, ouvrez la Boîte à Outils.
Si vous souhaitez insérer une image que vous avez déjà importée, cliquez sur l'onglet Inventaire. Si vous souhaitez insérer une image d'un autre créateur, cliquez sur l'onglet Boutique du Créateur.


Faites un clic droit sur l'image que vous souhaitez insérer dans un émetteur de particules et sélectionnez Copier l'ID d'Actif.
Dans la fenêtre Explorer, sélectionnez un ParticleEmitter.
Dans la fenêtre Propriétés, collez l'ID d'actif dans la propriété Texture.
Couleur
La propriété Color teinte la texture de chaque particule soit d'une teinte spécifique, soit d'un dégradé ColorSequence à travers sa durée de vie.
Dans la fenêtre Explorer, sélectionnez le ParticleEmitter.
Dans la fenêtre Propriétés, sélectionnez la propriété Couleur. Vous pouvez soit :
- Cliquer sur le carré de couleur pour ouvrir la fenêtre contextuelle Couleurs et sélectionner une couleur.
- Saisir trois nombres dans le champ de valeur de couleur RVB.


Émetteurs de particules similaires avec des particules de couleurs différentes
Taille
La propriété Size définit la taille de chaque particule à une taille constante, ou à une NumberSequence à travers sa durée de vie.
- Dans la fenêtre Explorer, sélectionnez le ParticleEmitter.
- Dans la fenêtre Propriétés, sélectionnez la propriété Taille.
- Saisissez la taille que vous souhaitez pour chaque particule.
Transparence
La propriété Transparency définit l'opacité de chaque particule comme une valeur constante, ou comme un opacité NumberSequence à travers sa durée de vie. L'opacité peut varier de 0 (totalement opaque) à 1 (complètement transparent). Pour des détails sur la façon de régler les particules à une opacité spécifique ou à une séquence numérique, suivez le processus de personnalisation de Taille mais utilisez le champ de propriété Transparence de l'émetteur à la place.
Durée de vie
La propriété Lifetime définit la durée de vie d'une particule en secondes. Vous pouvez régler cette propriété soit comme une valeur constante, soit fournir une plage Min et Max dans laquelle une durée de vie aléatoire sera choisie pour chaque particule.
Vitesse
La propriété Speed détermine une plage aléatoire de vitesses (minimum à maximum) à laquelle les nouvelles particules seront émises, mesurée en studs par seconde. La vitesse de chaque particule est choisie lors de son émission et s'applique dans la EmissionDirection. Les valeurs négatives font que les particules se déplacent à l'envers.
Notez que changer Speed n'affecte pas les particules actives et qu'elles conservent la vitesse qu'elles ont déjà. Cependant, Acceleration, Drag, et VelocityInheritance peuvent être utilisés pour influencer la vitesse des particules actives au cours de leur durée de vie.
Taux
La propriété Rate définit le nombre de particules qui émettent par seconde. Un seul émetteur de particules peut créer jusqu'à 400 particules par seconde (100 par seconde sur mobile). Pour de meilleures performances, gardez le taux de particules aussi bas que possible et expérimentez avec la taille et d'autres propriétés pour obtenir l'effet visuel souhaité.
Orientation
La propriété Orientation détermine quel mode d'orientation utiliser pour la géométrie des particules de l'émetteur.
| Orientation | Comportement des particules |
|---|---|
| FacingCamera | Quad de publicité standard face à la caméra; comportement par défaut. |
| FacingCameraWorldUp | Faisant face à la caméra, mais ne tournant que sur l'axe vertical vers le haut du monde Y. |
| VelocityParallel | Aligné parallèle à leur direction de mouvement. |
| VelocityPerpendicular | Aligné perpendiculairement à leur direction de mouvement. |
LightEmission
La propriété LightEmission détermine le mélange des couleurs de particules Texture avec les couleurs derrière elles. Une valeur de 0 utilise le mode de mélange normal tandis qu'une valeur de 1 utilise le mélange additif. Des valeurs plus élevées peuvent faire briller les particules même dans des environnements à faible luminosité.
Angle de dispersion
La propriété SpreadAngle a une valeur X et une valeur Y qui déterminent la plage d'angles à partir desquels une particule peut émettre. La plage est calculée des deux côtés autour des axes; par exemple, une valeur de (45, 0) émet des particules dans une plage de 0° à 45° loin de la EmissionDirection sur l'axe X.
WindAffectsDrag
Si vous avez activé le vent global dans un jeu, les particules suivront le vecteur du vent global tant que la propriété WindAffectsDrag de l'émetteur est activée et que sa propriété Drag est supérieure à 0.

Forme
La propriété Shape définit la forme de l'émetteur de particules comme étant soit une Boîte, Sphère, Cylindre, ou Disque.




Après avoir sélectionné une forme pour votre émetteur de particules, vous pouvez expérimenter les propriétés ShapeStyle, ShapeInOut, et ShapePartial pour personnaliser davantage l'émission de particules.
ShapeStyle
La propriété ShapeStyle définit le type d'émission à :
- Volume — Les particules s'émettent n'importe où à l'intérieur de la forme.
- Surface — Les particules s'émettent uniquement de l'extérieur de la forme.


ShapeInOut
La propriété ShapeInOut définit l'émission comme suit :
- Inward — Les particules s'émettent vers la forme.
- Outward — Les particules s'émettent à l'extérieur de la forme.
- InAndOut — Les particules se comportent de manière aléatoire comme Inward et Outward.
ShapePartial
La propriété ShapePartial est un facteur que vous pouvez utiliser pour modifier davantage les formes Cylindre, Disque, et Sphère.
Pour les cylindres, ShapePartial multiplie le rayon du cylindre du côté de sa EmissionDirection.


Écrasement
La propriété Squash permet un redimensionnement non uniforme des particules, contrôlé par une courbe au cours de leur durée de vie. Des valeurs supérieures à 0 provoquent un rétrécissement horizontal et une croissance verticale des particules, tandis que des valeurs inférieures à 0 provoquent une croissance horizontale et un rétrécissement vertical des particules. Pour des détails sur la façon de régler la quantité d'écrasement à une valeur constante ou à un NumberSequence, suivez le processus de personnalisation de Taille mais utilisez le champ de propriété Écrasement de l'émetteur à la place.
Flipbooks
Les textures de flipbooks de particules vous permettent d'animer la texture d'une particule au cours de sa durée de vie.
La texture de flipbook peut avoir une disposition de cadre de 2×2, 4×4, 8×8, ou personnalisée. Par exemple, l'image 1024×1024 suivante a une disposition 8×8, donc elle convient pour une animation de 64 images.

Une fois que vous avez spécifié une texture de flipbook valide texture pour la propriété Texture de l'émetteur, la propriété FlipbookLayout détermine la disposition de la texture. Cela peut être n'importe quelle valeur de l'énumération Enum.ParticleFlipbookLayout :
- None — Désactivez les fonctionnalités de flipbook et utilisez la texture comme une seule texture statique sur la durée de vie de la particule.
- Grid2x2 — 2×2 frames pour une animation de 4 images.
- Grid4x4 — 4×4 frames pour une animation de 16 images.
- Grid8x8 — 8×8 frames pour une animation de 64 images.
Pour personnaliser davantage le comportement du flipbook, vous pouvez ajuster les propriétés suivantes :
La propriété FlipbookFramerate détermine à quelle vitesse la texture de flipbook s'anime en images par seconde. Comme Lifetime, vous pouvez régler une plage minimum et maximum pour randomiser la fréquence d'images du flipbook, avec un maximum de 30 images par seconde.
Autres propriétés
Pour personnaliser davantage les particules, considérez les propriétés suivantes de l'émetteur, et cliquez à travers la page de référence ParticleEmitter pour plus de détails.
Les propriétés d'apparence suivantes s'ajoutent à couleur, émission de lumière, orientation, taille, texture, transparence, écrasement, et flipbooks.
| Propriété | Description |
|---|---|
| LightInfluence | Détermine dans quelle mesure la lumière environnementale affecte la couleur des particules individuelles. |
| Brightness | Échelonne la lumière émise par l'émetteur lorsque LightInfluence est 0. |
| ZOffset | Détermine la position de rendu avant-arrière des particules, en studs, sans changer leur taille à l'écran. Cela permet de superposer plusieurs émetteurs ou de rendre les particules devant ou derrière l'objet parent. |