Apprendre
Classe de moteur
ParticleEmitter

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


Échantillons de code
Créer un émetteur de particules à partir de zéro
local emitter = Instance.new("ParticleEmitter")
-- Nombre de particules = Taux * Durée de vie
emitter.Rate = 5 -- Particules par seconde
emitter.Lifetime = NumberRange.new(1, 1) -- Durée de vie des particules (min, max)
emitter.Enabled = true
-- Propriétés visuelles
emitter.Texture = "rbxassetid://1266170131" -- Une image transparente d'un anneau blanc
-- Pour la Couleur, créez une ColorSequence utilisant ColorSequenceKeypoint
local colorKeypoints = {
-- API : ColorSequenceKeypoint.new(temps, couleur)
ColorSequenceKeypoint.new(0, Color3.new(1, 1, 1)), -- À t=0, Blanc
ColorSequenceKeypoint.new(0.5, Color3.new(1, 0.5, 0)), -- À t=0.5, Orange
ColorSequenceKeypoint.new(1, Color3.new(1, 0, 0)), -- À t=1, Rouge
}
emitter.Color = ColorSequence.new(colorKeypoints)
local numberKeypoints = {
-- API : NumberSequenceKeypoint.new(temps, taille, enveloppe)
NumberSequenceKeypoint.new(0, 1), -- À t=0, entièrement transparent
NumberSequenceKeypoint.new(0.1, 0), -- À t=0.1, entièrement opaque
NumberSequenceKeypoint.new(0.5, 0.25), -- À t=0.5, principalement opaque
NumberSequenceKeypoint.new(1, 1), -- À t=1, entièrement transparent
}
emitter.Transparency = NumberSequence.new(numberKeypoints)
emitter.LightEmission = 1 -- Lorsque les particules se chevauchent, multipliez leur couleur pour être plus lumineuses
emitter.LightInfluence = 0 -- Ne pas être affecté par l'éclairage du monde
-- Propriétés de vitesse
emitter.EmissionDirection = Enum.NormalId.Front -- Émettre vers l'avant
emitter.Speed = NumberRange.new(0, 0) -- Vitesse nulle
emitter.Drag = 0 -- Appliquer aucune traînée au mouvement des particules
emitter.VelocitySpread = NumberRange.new(0, 0)
emitter.VelocityInheritance = 0 -- Ne pas hériter de la vélocité du parent
emitter.Acceleration = Vector3.new(0, 0, 0)
emitter.LockedToPart = false -- Ne pas verrouiller les particules au parent
emitter.SpreadAngle = Vector2.new(0, 0) -- Pas d'angle de dispersion sur aucun axe
-- Propriétés de simulation
local numberKeypoints2 = {
NumberSequenceKeypoint.new(0, 0), -- À t=0, taille de 0
NumberSequenceKeypoint.new(1, 10), -- À t=1, taille de 10
}
emitter.Size = NumberSequence.new(numberKeypoints2)
emitter.ZOffset = -1 -- Rendre légèrement derrière la position réelle
emitter.Rotation = NumberRange.new(0, 360) -- Commencer à une rotation aléatoire
emitter.RotSpeed = NumberRange.new(0) -- Ne pas tourner pendant la simulation
-- Créer une attache pour que les particules émettent du même endroit (anneaux concentriques)
local attachment = Instance.new("Attachment")
attachment.Position = Vector3.new(0, 5, 0) -- Déplacer l'attache vers le haut un peu
attachment.Parent = script.Parent
emitter.Parent = attachment

Référence API
Propriétés
Acceleration
Lecture parallèle
Capacités : Basic
ParticleEmitter.Acceleration:Vector3

Brightness
Lecture parallèle
Capacités : Basic
ParticleEmitter.Brightness:number

Color
Lecture parallèle
Capacités : Basic
ParticleEmitter.Color:ColorSequence

Drag
Lecture parallèle
Capacités : Basic
ParticleEmitter.Drag:number

EmissionDirection
Lecture parallèle
Capacités : Basic
ParticleEmitter.EmissionDirection:Enum.NormalId

Enabled
Lecture parallèle
Capacités : Basic
ParticleEmitter.Enabled:boolean

FlipbookBlendFrames
Lecture parallèle
Capacités : Basic
ParticleEmitter.FlipbookBlendFrames:boolean

FlipbookFramerate
Lecture parallèle
Capacités : Basic
ParticleEmitter.FlipbookFramerate:NumberRange

FlipbookIncompatible
Lecture parallèle
Capacités : Basic
ParticleEmitter.FlipbookIncompatible:string

FlipbookLayout
Lecture parallèle
Capacités : Basic
ParticleEmitter.FlipbookLayout:Enum.ParticleFlipbookLayout

FlipbookMode
Lecture parallèle
Capacités : Basic
ParticleEmitter.FlipbookMode:Enum.ParticleFlipbookMode

FlipbookSizeX
Lecture parallèle
Capacités : Basic
ParticleEmitter.FlipbookSizeX:number

FlipbookSizeY
Lecture parallèle
Capacités : Basic
ParticleEmitter.FlipbookSizeY:number

FlipbookStartRandom
Lecture parallèle
Capacités : Basic
ParticleEmitter.FlipbookStartRandom:boolean

Lifetime
Lecture parallèle
Capacités : Basic
ParticleEmitter.Lifetime:NumberRange

LightEmission
Lecture parallèle
Capacités : Basic
ParticleEmitter.LightEmission:number

LightInfluence
Lecture parallèle
Capacités : Basic
ParticleEmitter.LightInfluence:number

LocalTransparencyModifier
Caché
Non répliqué
Lecture parallèle
Capacités : Basic
ParticleEmitter.LocalTransparencyModifier:number

LockedToPart
Lecture parallèle
Capacités : Basic
ParticleEmitter.LockedToPart:boolean

Orientation
Lecture parallèle
Capacités : Basic
ParticleEmitter.Orientation:Enum.ParticleOrientation

Rate
Lecture parallèle
Capacités : Basic
ParticleEmitter.Rate:number

Rotation
Lecture parallèle
Capacités : Basic
ParticleEmitter.Rotation:NumberRange

RotSpeed
Lecture parallèle
Capacités : Basic
ParticleEmitter.RotSpeed:NumberRange

Shape
Lecture parallèle
Capacités : Basic
ParticleEmitter.Shape:Enum.ParticleEmitterShape

ShapeInOut
Lecture parallèle
Capacités : Basic
ParticleEmitter.ShapeInOut:Enum.ParticleEmitterShapeInOut

ShapePartial
Lecture parallèle
Capacités : Basic
ParticleEmitter.ShapePartial:number

ShapeStyle
Lecture parallèle
Capacités : Basic
ParticleEmitter.ShapeStyle:Enum.ParticleEmitterShapeStyle

Size
Lecture parallèle
Capacités : Basic
ParticleEmitter.Size:NumberSequence

Speed
Lecture parallèle
Capacités : Basic
ParticleEmitter.Speed:NumberRange

SpreadAngle
Lecture parallèle
Capacités : Basic
ParticleEmitter.SpreadAngle:Vector2

Squash
Lecture parallèle
Capacités : Basic
ParticleEmitter.Squash:NumberSequence

Texture
Lecture parallèle
Capacités : Basic
ParticleEmitter.Texture:ContentId

TimeScale
Lecture parallèle
Capacités : Basic
ParticleEmitter.TimeScale:number

Transparency
Lecture parallèle
Capacités : Basic
ParticleEmitter.Transparency:NumberSequence

VelocityInheritance
Lecture parallèle
Capacités : Basic
ParticleEmitter.VelocityInheritance:number

VelocitySpread
Déprécié

WindAffectsDrag
Lecture parallèle
Capacités : Basic
ParticleEmitter.WindAffectsDrag:boolean

ZOffset
Lecture parallèle
Capacités : Basic
ParticleEmitter.ZOffset:number

Méthodes
Clear
Capacités : Basic
ParticleEmitter:Clear():()
Retours
()
Échantillons de code
Émission de particules
local emitter = script.Parent
while true do
emitter:Clear()
emitter:Emit(10)
task.wait(2)
end

Emit
Capacités : Basic
ParticleEmitter:Emit(particleCount:number):()
Paramètres
particleCount:number
Valeur par défaut : 16
Retours
()
Échantillons de code
Émettre des particules sur une 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
Émission de particules
local emitter = script.Parent
while true do
emitter:Clear()
emitter:Emit(10)
task.wait(2)
end

©2026 Société Roblox. Roblox, le logo Roblox et Powering Imagination font partie de nos marques déposées aux États-Unis et dans d'autres pays.