ParticleEmitter

Afficher les obsolètes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Un ParticleEmitter est un objet spécial qui émet des particules 2D personnalisées dans le monde. Pour émettre et rendre des particules, il doit être associé à un BasePart ou un Attachment dans une telle partie

Les particules émettent automatiquement lorsque l'émetteur est Enabled avec un non zéro Rate , ou manuellement lorsque la méthode Class.ParticleEmitter:Emit()

Par défaut, les particules se dirigent vers la caméra, mais la Orientation peut être modifiée pour respecter la vitesse des particules au lieu de cela.

Pendant la Lifetime des particules, ils peu

Pour en savoir plus sur la création et la personnalisation des émetteurs de particules, voir émetteurs de particules.

Échantillons de code

Creating a Particle Emitter from Scratch

local emitter = Instance.new("ParticleEmitter")
-- Number of particles = Rate * Lifetime
emitter.Rate = 5 -- Particles per second
emitter.Lifetime = NumberRange.new(1, 1) -- How long the particles should be alive (min, max)
emitter.Enabled = true
-- Visual properties
emitter.Texture = "rbxassetid://1266170131" -- A transparent image of a white ring
-- For Color, build a ColorSequence using ColorSequenceKeypoint
local colorKeypoints = {
-- API: ColorSequenceKeypoint.new(time, color)
ColorSequenceKeypoint.new(0, Color3.new(1, 1, 1)), -- At t=0, White
ColorSequenceKeypoint.new(0.5, Color3.new(1, 0.5, 0)), -- At t=.5, Orange
ColorSequenceKeypoint.new(1, Color3.new(1, 0, 0)), -- At t=1, Red
}
emitter.Color = ColorSequence.new(colorKeypoints)
local numberKeypoints = {
-- API: NumberSequenceKeypoint.new(time, size, envelop)
NumberSequenceKeypoint.new(0, 1), -- At t=0, fully transparent
NumberSequenceKeypoint.new(0.1, 0), -- At t=.1, fully opaque
NumberSequenceKeypoint.new(0.5, 0.25), -- At t=.5, mostly opaque
NumberSequenceKeypoint.new(1, 1), -- At t=1, fully transparent
}
emitter.Transparency = NumberSequence.new(numberKeypoints)
emitter.LightEmission = 1 -- When particles overlap, multiply their color to be brighter
emitter.LightInfluence = 0 -- Don't be affected by world lighting
-- Speed properties
emitter.EmissionDirection = Enum.NormalId.Front -- Emit forwards
emitter.Speed = NumberRange.new(0, 0) -- Speed of zero
emitter.Drag = 0 -- Apply no drag to particle motion
emitter.VelocitySpread = NumberRange.new(0, 0)
emitter.VelocityInheritance = 0 -- Don't inherit parent velocity
emitter.Acceleration = Vector3.new(0, 0, 0)
emitter.LockedToPart = false -- Don't lock the particles to the parent
emitter.SpreadAngle = Vector2.new(0, 0) -- No spread angle on either axis
-- Simulation properties
local numberKeypoints2 = {
NumberSequenceKeypoint.new(0, 0), -- At t=0, size of 0
NumberSequenceKeypoint.new(1, 10), -- At t=1, size of 10
}
emitter.Size = NumberSequence.new(numberKeypoints2)
emitter.ZOffset = -1 -- Render slightly behind the actual position
emitter.Rotation = NumberRange.new(0, 360) -- Start at random rotation
emitter.RotSpeed = NumberRange.new(0) -- Do not rotate during simulation
-- Create an attachment so particles emit from the exact same spot (concentric rings)
local attachment = Instance.new("Attachment")
attachment.Position = Vector3.new(0, 5, 0) -- Move the attachment upwards a little
attachment.Parent = script.Parent
emitter.Parent = attachment

Résumé

Propriétés

  • Lecture parallèle

    Détermine l'accélération globale des toutes les parties actives, mesurées en studs par seconde carré.

  • Lecture parallèle

    Échelle la lumière émise par l'émetteur lorsque ParticleEmitter.LightInfluence est 0.

  • Lecture parallèle

    Détermine la couleur de toutes les parties actives au cours de leur vie.

  • Lecture parallèle

    Détermine le taux à cui les particules perdent la moitié de leur vitesse par une détérioration exponentielle.

  • Détermine le visage de l'objet qui émet des particules.

  • Lecture parallèle

    Détermine si les particules émettent de l'émetteur.

  • Lecture parallèle

    Détermine la vitesse à laquelle la texture du livre d'autocollants se met en mouvement dans les cadres par seconde.

  • Lecture parallèle

    Le message d'erreur à afficher si le Texture est incompatible pour un livre de flip.

  • Détermine la disposition de la texture du livre d'autocollants. Doit être None, Grid2x2, Grid4x4 ou Grid8x8.

  • Détermine le type d'animationsdu livre de poche. Doit être Loop, OneShot, PingPong ou Random.

  • Lecture parallèle

    Détermine si l'animation commence à un cadre aléatoire choisi par partie au lieu de toujours commencer à partir du cadre zéro.

  • Lecture parallèle

    Définit une gamme de âges aléatoires pour les particules nouvellement émises.

  • Lecture parallèle

    Détermine la façon dont les couleurs des particules sont mélangées avec les couleurs derrière elles.

  • Lecture parallèle

    Détermine la quantité de particules affectées par la lumière environnementale.

  • Caché
    Non répliqué
    Lecture parallèle
  • Lecture parallèle

    Détermine si les particules se déplacent rapidement avec la partie qu'elles émettent.

  • Spécifie comment orienter les particules.

  • Lecture parallèle

    Détermine le nombre de particules émises par seconde.

  • Lecture parallèle

    Détermine la portée des vitesses angulaires des particules émises, mesurées en degrés par seconde.

  • Lecture parallèle

    Détermine la portée de rotation en degrés pour les particules nouvellement émises.

  • Définit la forme de l'émetteur en boîte de modélisation, en sphère, en cylindre ou en disque.

  • Définit si les particules émettent seulement vers l'extérieur, vers l'intérieur ou dans les deux directions.

  • Lecture parallèle

    Influence la dispersion de particules dans les formes de cylindre, de disque, de sphère et de boîte.

  • Définit l'émission de particules sur une émission volumétrique ou sur la surface uniquement.

  • Lecture parallèle

    Détermine la taille du monde sur la durée de vie des particules individuelles.

  • Lecture parallèle

    Détermine une gamme de vitesses aléatoires (minimum à maximum) à laquelle de nouvelles particules émettront, mesurées en studs par seconde.

  • Lecture parallèle

    Détermine les angles à partir desquels les particules peuvent émettre aléatoirement, mesurés en degrés.

  • Lecture parallèle

    Permet l'échelle non uniforme des particules, contrôlée par la courbe, pendant leur vie.

  • Texture:ContentId
    Lecture parallèle

    Détermine l'image rendue sur les parties.

  • Lecture parallèle

    Valeur entre 0 et 1 qui contrôle la vitesse de l'effet de particule.

  • Lecture parallèle

    Détermine la transparence des particules au cours de leur vie individuelle.

  • Lecture parallèle

    Détermine la quantité de vitesse de la vitesse parentale héritée par les particules lorsqu'elle est émise.

  • Lecture parallèle

    Que les particules émises suivent le Workspace.GlobalWind force vectorielle.

  • Lecture parallèle

    Détermine la position de rendu vers l'arrière des particules ; utilisé pour contrôler le rendu des particules sur le haut/bas.

Méthodes

  • Clear():void

    Efface toutes les particules qui ont été émises.

  • Emit(particleCount : number):void

    Émet un certain nombre de particules.

Propriétés

Acceleration

Lecture parallèle

La propriété Accélération détermine comment le Speed des particules change au cours de leur vie. Il est défini en utilisant un Vector3 pour déterminer l'accélération sur l'axe global 2>X2> / 5>Y5> /

L'accélération ralentira les particules si le vécteur pointe dans le sens contraire EmissionDirection dans lequel elles sont émises. Sinon, il les accélérera.

Brightness

Lecture parallèle

Échelle la lumière émise par l'émetteur lorsque ParticleEmitter.LightInfluence est 0.

Lecture parallèle

La propriété Couleur détermine la couleur de toutes les parties actives au cours de leur vie individuelle. La couleur s'applique à la Texture lors de la rendu et utilise la texture alpha ainsi que la transparence de l'émetteur avec laquelle il utilise la transparence de

Changer cette propriété affecte toutes les particules émises par l'émetteur, à la fois actuelles et futures.

Lorsque cette propriété utilise un gradient ColorSequence, la couleur d'une partie est déterminée par l'interpolation linéaire sur la séquence en utilisant l'âge de la partie et son temps de vie total. Par exemple, si une partie est apparue il y a 2 secondes et a une durée de vie de 4 secondes, la couleur sera la valeur de 50% de la voie à travers la ColorSequence .

Drag

Lecture parallèle

La propriété Glisser détermine le taux en secondes à laquelle les particules individuelles perdent leur moitié de vitesse via une détérioration exponentielle. Glisser est appliqué en échelonnant la vitesse attendue de Speed et n'importe quelle vitesse héritée de la parent de Class.ParticleEmitter.VelocityInher

EmissionDirection

Lecture parallèle

La propriété EmissionDirection détermine la face ( Enum.NormalId ) de l'objet parent qui émet des particules. Un nombre négatif Speed signifie que les particules émettent dans la direction contraire. 1> Class.ParticleEmitter.SpreadAngle|SpreadAngle1> plus varie la direction d'émission.

Si vous ajoutez un ParticleEmitter à un Attachment, qui a une direction, vous pouvez pivoter l'attribut lui-même ( Attachment.Orientation ) au lieu d'utiliser cette propriété.

Enabled

Lecture parallèle

La propriété activée détermine si les particules émises par l'émetteur émettent ou non. En définissant ceci sur false, vous arrêtez les particules suivantes, mais toutes les parties existantes restent actives jusqu'à leur expiration. Cette propriété est utile lorsque vous avez un effet de particule prédéfini que vous souhaitez garder désactivé jusqu'à ce que vous en ayez besoin pour émettre des particules.

Si vous souhaitez effacer toutes les particules d'un émetteur désactivé, appelez Clear() . Puis, si vous le souhaitez, appelez Emit() sur l'émetteur pour émettre et rendre des particules.

FlipbookFramerate

Lecture parallèle

La propriété FlipbookFramerate détermine la vitesse à laquelle la texture du livre de poche se dessine dans les cadres par seconde. Comme Lifetime, vous pouvez définir une portée minimum et maximale pourRandomiser la framerate du livre de poche, avec un maximum de 30 cadres par seconde.

FlipbookIncompatible

Lecture parallèle

Le message d'erreur à afficher si le Texture est incompatible pour un livre de presse. La texture du livre de presse doit être de tailles de pixel 8×8, 16×16, 32×32, 64×64, 128×128, 256×256, 512×512, ou 1024×1024.

Lecture parallèle

La propriété FlipbookLayout détermine la disposition de la texture. Il peut s'agir de n'importe quelle valeur de l'ensemble des valeurs de l'Enum.ParticleFlipbookLayout :

  • Aucun – Désactivez les fonctionnalités de livre de défilement et utilisez la texture comme une seule texture statique sur la durée de vie de la particule.
  • Grid2x2 – 2 cadres pour une animations4 cadres.
  • Grid4x4 – 4×4 cadres pour une animationsde 16 cadres.
  • Grid8x8 – 8 cadres pour une animationsde 64 cadres.
Lecture parallèle

La propriété FlipbookMode détermine le type d'animationsdu livre de poche. Il peut s'agir de n'importe quelle valeur de l'ensemble des valeurs de Enum.ParticleFlipbookMode :

  • Boucle – Jouez continuement à travers tous les cadres, en commençant à partir du premier cadre après avoir joué le dernier.
  • OneShot – Jouez à travers l'animationsune fois seulement dans la vie du participe. Avec ce paramètre, la propriété FlipbookFramerate n'est pas appliquée ; au lieu
  • PingPong – Jouez du premier au dernier cadre, puis à l'envers du dernier au premier, répétant tout au long du Lifetime de la particule.
  • Aléatoire – Jouez les cadres dans un ordre aléatoire, en fusionnant/dégradant d'un cadre à l'autre. Cela peut être utile pour les textures de particules organiques à faibles cadences de capture, telles que les étoiles clignotant lentement entre des formes subtillement différentes.

FlipbookStartRandom

Lecture parallèle

La propriété FlipbookStartRandom détermine si chaque particule commence à un cadre aléatoire de l'animation au lieu de toujours commencer à la première partie. Un cas d'utilisation est d'activer cette propriété et également de définir FlipbookFramerate sur zéro, ce qui provoque que chaque particule émise soit un cadre statique choisi aléatoirement de la texture du livre de flipbook.

Lifetime

Lecture parallèle

La propriété vie à longue durée définit l'âge maximum et minimum pour les particules nouvellement émises. Les vie à longue durée sont stockés sur une base par particule, donc si cette valeur est modifiée, les particules existantes resteront actives jusqu'à la fin de leur vie choisie aléatoirement. Une vie de 0 empêcheera les particules d'émettre du tout.

LightEmission

Lecture parallèle

La propriété Émission de lumière détermine le mélange des couleurs Class.ParticleEmitter.Texture|Texture avec les couleurs derrière elles. Une valeur de 0 utilise le mode de mélange normal alors qu'une valeur de 1 utilise le mode de mélange additif. Lorsque cela est modifié, cette propriété affecte instantanément toutes les particules possédées par l'émission, à la fois les particules actuelles et futures.

Cette propriété ne doit pas être confondue avec LightInfluence qui détermine comment les particules sont affectées par l'environnement l'éclairage.

Cette propriété ne fait pas ne cause que les particules éclairent l'environnement autour d'eux. Pour y parvenir, considérez l'utilisation d'un PointLight.

LightInfluence

Lecture parallèle

La propriété Influence de lumière détermine la quantité de lumière environnementale qui affecte la couleur des particules individuelles lorsqu'elles rendu. Il doit être dans la tranche de 0-1 ; le comportement des valeurs en dehors de cette tranche n'est pas défini. À 0, les particules ne sont pas affectées par la lumière du tout (elles conservent leur brillance complète) ; à 1, les particules sont entièrement affectées par la lumière (dans l'obscurité complète

Par défaut, cette valeur est de 1 si elle est insérée avec les outils Studio. Si elle est insérée en utilisant Instance.new(), elle est 0.

LocalTransparencyModifier

Caché
Non répliqué
Lecture parallèle

LockedToPart

Lecture parallèle

La propriété LockedToPart détermine si les particules « collent » à la source d'émission (la Attachment ou la BasePart à laquelle le 1> Class.ParticleEmitter1> est associé). Si 4> true4>, les particules actives se déplaceront en étape de verrouillage si l'objet parent se déplace.

Alternativement, considérez l'utilisation de la propriété VelocityInheritance avec une valeur de 1 qui peut être plus appropriée pour certains effets.

Lecture parallèle

La propriété Orientation détermine le mode d'orientation à utiliser pour la géométrie des particules d'un émetteur.


<tbody>
<tr>
<td><b>Caméra de face</b></td>
<td>Quadruple de panneau de caméra standard ; comportement par défaut.</td>
</tr>
<tr>
<td><b>Caméra de monde face à face</b></td>
<td>Visage à la caméra, mais rotation seulement sur l'axe vertical vers le haut <b>Y</b>.</td>
</tr>
<tr>
<td><b>VelocityParallel</b></td>
<td>Aligné parallèle à leur direction de déplacement.</td>
</tr>
<tr>
<td><b>Vitesse parallèle</b></td>
<td>Aligné perpendiculaire à leur mouvement de direction.</td>
</tr>
</tbody>
OrientationComportement des particules

Rate

Lecture parallèle

La propriété Taux détermine le nombre de particules émises par seconde pendant que l'émetteur est Enabled . C'est le contraire de la fréquence, ce qui signifie que un taux de 5 émet une particule toutes les 0,2 secondes. Lorsqu'il est modifié, cette propriété n'a aucun effet sur les parties actives.

RotSpeed

Lecture parallèle

La propriété RotSpeed détermine une gamme aléatoire de vitesses d'angle pour les particules nouvellement émises, mesurées en degrés par seconde. Une vitesse d'angle aléatoire est choisie lors de l'émission, donc la modification de cette propriété n'affecte pas les parties actives. Cette propriété, ainsi que Rotation , affecte l'angle de l'image de rendu de la partie.

Les particules avec des vitesses d'angle très élevées peuvent sembler tourner plus lentement ou pas du tout, car l'angle de rotation est synchronisé avec la vitesse de rendu du logiciel. Par exemple, si les particules tournent exactement à 360 degrés chaque cadre, il n'y aura pas de changement apparent dans la rotation.

Rotation

Lecture parallèle

La propriété Rotation détermine la portée de rotations en degrés pour les particules nouvellement émises, mesurées en degrés. Les valeurs positives sont dans la direction horaire. Cette propriété est habituellement réglée sur [0, 360] pour fournir une rotation complètement aléatoire à une nouvelle partie. RotSpeed affecte également la rotation d'une

Les modifications de cette valeur ne concernent que les nouvelles particules ; les particules existantes conservent la rotation à laquelle elles ont été émises.

Lecture parallèle

La propriété forme détermine la forme de l'émetteur à un boîtier, une sphère, un cylindre ou un disque. Après avoir fait un choix, vous pouvez ajuster la ShapeStyle , ShapeInOut et

Lecture parallèle

Définit si les particules émettent seulement vers l'extérieur, vers l'intérieur ou dans les deux directions. Pour des exemples visuels, voir ici .

ShapePartial

Lecture parallèle

En fonction de la valeur Shape, cette propriété effectue une action différente :

  • Pour les cylindres, il spécifie la proportion de diamètre de pointe. Une valeur de 0 signifie que le haut du cylindre a un rayon de zéro, ce qui le rend un cône. Une valeur de 1 signifie que le cylindre n'a pas de déformation.

  • Pour les disques, il spécifie la proportion de rayon intérieur. Une valeur de 0 signifie que le disque est entièrement fermé (cercle/ellipse), tandis qu'une valeur de 1 signifie que l'émission ne se produit que sur la jante extérieure du disque. Les valeurs entre 0 et 1 émettent à partir d'un anneau avec une certaine épaisseur.

  • Pour les sphères, il spécifie l'angle hemispherique auquel les particules émettent. Une valeur de 1 signifie que les particules émettent de l'ensemble de la sphère ; une valeur de 0,5 signifie que les particules émettent de la moitié dôme ; une valeur de 0 signifie que les particules ne émettent que d'un seul point au pôle Nord.

Pour des exemples visuels, voir ici.

Lecture parallèle

Définit l'émission de particules sur l'émission volumétrique ou sur la surface seulement. Pour des exemples visuels, voir ici.

Lecture parallèle

La propriété Taille détermine la taille du monde de toutes les particules actives sur leur vie individuelle. Cette propriété représente les dimensions du carré Texture pour chaque particule. Il s'agit d'un NumberSequence qui fonctionne comme 1> Class.ParticleEmitter.Transparency|Transparency1> .

La taille d'une particule est déterminée en interpolant linéairement sur cette séquence en utilisant l'âge de la particule et sa durée de vie totale. Par exemple, si une particule est apparue il y a 2 secondes et a une durée de vie de 4 secondes, la taille sera la valeur de 50% de la distance parcourue dans le Datatype.Number

Lecture parallèle

La propriété Vitesse détermine une gamme de vitesses aléatoires (minimum à maximum) à laquelle de nouvelles particules émettent, mesurées en studs par seconde. La vitesse de chaque particule est choisie lors de l'émission et s'applique dans le EmissionDirection . Les valeurs négatives provoquent que les particules se déplacent à l'envers.

Remarquez que le changement de Speed n'affecte pas les particules actives et elles conservent la vitesse qu'elles ont déjà. Cependant, Acceleration, Drag et 1> Class.ParticleEmitter

SpreadAngle

Lecture parallèle

La propriété Angle de réplication détermine les angles aléatoires à partir desquels une particule peut être émise. Par exemple, si la valeur EmissionDirection est supérieure (+ 2> Y2>), cette valeur 5>Datatype.Vector25> décrit

Définir un axe sur 360 entraînera l'émission de particules dans toutes les directions dans un cercle. Définir les deux sur 360 entraînera l'émission de particules dans toutes les directions dans une sphère.

Lecture parallèle

Permet l'échelle non uniforme des particules, la courbe contrôlée pendant leur vie. Les valeurs supérieures à 0 font que les particules rétrécissent horizontalement et grandissent verticalement, tandis que les valeurs inférieures à 0 font que les parties grandissent horizontalement et rétrécissent verticalement.

Texture

ContentId
Lecture parallèle

La propriété Texture détermine l'image rendue sur les particules. Cette image est influencée par Color, Transparency, 1> Class.ParticleEmitter.LightInfluence|LightInfluence1> et 4> Class.ParticleEmitter

TimeScale

Lecture parallèle

Une valeur entre 0 et 1 qui contrôle la vitesse de l'effet de particules. À 1, il s'exécute à la vitesse normale ; à 0,5, il s'exécute à la moitié de la vitesse ; à 0, il s'arrête à temps.

Transparency

Lecture parallèle

La propriété Transparence détermine la transparence de toutes les parties actives au cours de leur vie de longue durée. Il fonctionne comme Size dans la façon dont il affecte les parties au fil du temps. En termes de rendu, un valeur de 0 est complètement visible (opaque) et un valeur de 1 est complètement invisible (pas rendu du tout).

La transparence d'une particule est déterminée par l'interpolation linéaire de cette séquence en utilisant l'âge de la particule et sa durée de vie totale. Par exemple, si une particule est apparue il y a 2 secondes et a une durée de vie de 4 secondes, la transparence sera de 50% de la manière à travers laquelle la Dat

VelocityInheritance

Lecture parallèle

La propriété VelocityInheritance détermine la quantité de la partie parentale de Velocity qui est héritée par les particules lorsqu'elles sont émises. Une valeur de 0 signifie que aucune vitesse n'est héritée, tandis qu'une valeur de 1 signifie que la particule aura exactement la même vitesse que la parent BasePart.

Lorsqu'il est utilisé conjointement avec Drag, un émetteur de particules peut sembler «lâcher» des particules d'une partie en mouvement.

WindAffectsDrag

Lecture parallèle

Si oui, les particules émises suivent le Workspace.GlobalWind force vectorielle. S'applique uniquement si la propriété Drag est supérieure à 0.

ZOffset

Lecture parallèle

La propriété ZOffset détermine la position de rendu vers l'arrière-avant des particules, en studs, sans changer leur taille sur l'écran. Lorsque cela est modifié, cette propriété affecte les parties actuelles et futures. Remarquez que cette propriété accepte les valeurs fractionnées ; il n'est pas comme GuiObject.ZIndex (un nombre entier).

Les valeurs positives déplacent les particules plus près de la caméra et les valeurs négatives déplacent les particules plus loin. Les valeurs négatives suffisantes peuvent provoquer que les particules se rendent à l'intérieur ou derrière la partie parent.

Méthodes

Clear

void

La méthode effacer efface instantanément toutes les particules existantes qui ont été émises par le ParticleEmitter à travers sa sortie naturelle (non zéro Rate sur un 1> Class.ParticleEmitter.Enabled|Enabled1> émetteur) ou via 4> Class.ParticleEmitter:emit()


Retours

void

Échantillons de code

ParticleEmitter Burst

local emitter = script.Parent
while true do
emitter:Clear()
emitter:Emit(10)
task.wait(2)
end

Emit

void

La méthode Émettre provoquera la production instantanée de ParticleEmitter de particules données.

Paramètres

particleCount: number

Nombre de particules à émettre.

Valeur par défaut : 16

Retours

void

Échantillons de code

Emit Particles Over Distance

local RunService = game:GetService("RunService")
local emitter = script.Parent
local part = emitter.Parent
local PARTICLES_PER_STUD = 3
local lastPosition = part.Position
local distance = 0
local function onStep()
local displacement = part.Position - lastPosition
distance = distance + displacement.magnitude
local n = math.floor(distance * PARTICLES_PER_STUD)
emitter:Emit(n)
distance = distance - n / PARTICLES_PER_STUD
lastPosition = part.Position
end
RunService.Stepped:Connect(onStep)
emitter.Enabled = false
ParticleEmitter Burst

local emitter = script.Parent
while true do
emitter:Clear()
emitter:Emit(10)
task.wait(2)
end

Évènements