Aprender
Clase de motor
ParticleEmitter

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.


Muestras de código
Creando un emisor de partículas desde cero
local emitter = Instance.new("ParticleEmitter")
-- Número de partículas = Tasa * Vida útil
emitter.Rate = 5 -- Partículas por segundo
emitter.Lifetime = NumberRange.new(1, 1) -- Cuánto tiempo deben estar vivas las partículas (mín, máx)
emitter.Enabled = true
-- Propiedades visuales
emitter.Texture = "rbxassetid://1266170131" -- Una imagen transparente de un anillo blanco
-- Para Color, construye un ColorSequence usando ColorSequenceKeypoint
local colorKeypoints = {
-- API: ColorSequenceKeypoint.new(tiempo, color)
ColorSequenceKeypoint.new(0, Color3.new(1, 1, 1)), -- En t=0, Blanco
ColorSequenceKeypoint.new(0.5, Color3.new(1, 0.5, 0)), -- En t=.5, Naranja
ColorSequenceKeypoint.new(1, Color3.new(1, 0, 0)), -- En t=1, Rojo
}
emitter.Color = ColorSequence.new(colorKeypoints)
local numberKeypoints = {
-- API: NumberSequenceKeypoint.new(tiempo, tamaño, envoltura)
NumberSequenceKeypoint.new(0, 1), -- En t=0, completamente transparente
NumberSequenceKeypoint.new(0.1, 0), -- En t=.1, completamente opaco
NumberSequenceKeypoint.new(0.5, 0.25), -- En t=.5, mayormente opaco
NumberSequenceKeypoint.new(1, 1), -- En t=1, completamente transparente
}
emitter.Transparency = NumberSequence.new(numberKeypoints)
emitter.LightEmission = 1 -- Cuando las partículas se superponen, multiplica su color para que sea más brillante
emitter.LightInfluence = 0 -- No ser afectado por la iluminación del mundo
-- Propiedades de velocidad
emitter.EmissionDirection = Enum.NormalId.Front -- Emitir hacia adelante
emitter.Speed = NumberRange.new(0, 0) -- Velocidad cero
emitter.Drag = 0 -- No aplicar resistencia al movimiento de las partículas
emitter.VelocitySpread = NumberRange.new(0, 0)
emitter.VelocityInheritance = 0 -- No heredar la velocidad del padre
emitter.Acceleration = Vector3.new(0, 0, 0)
emitter.LockedToPart = false -- No bloquear las partículas al padre
emitter.SpreadAngle = Vector2.new(0, 0) -- Sin ángulo de dispersión en ningún eje
-- Propiedades de simulación
local numberKeypoints2 = {
NumberSequenceKeypoint.new(0, 0), -- En t=0, tamaño de 0
NumberSequenceKeypoint.new(1, 10), -- En t=1, tamaño de 10
}
emitter.Size = NumberSequence.new(numberKeypoints2)
emitter.ZOffset = -1 -- Renderizar ligeramente detrás de la posición real
emitter.Rotation = NumberRange.new(0, 360) -- Comenzar con una rotación aleatoria
emitter.RotSpeed = NumberRange.new(0) -- No rotar durante la simulación
-- Crear una sujeción para que las partículas emitan desde el mismo lugar exacto (anillos concéntricos)
local attachment = Instance.new("Attachment")
attachment.Position = Vector3.new(0, 5, 0) -- Mover la sujeción un poco hacia arriba
attachment.Parent = script.Parent
emitter.Parent = attachment

Referencia API
Propiedades
Acceleration
Leer paralelo
Capacidades: Basic
ParticleEmitter.Acceleration:Vector3

Brightness
Leer paralelo
Capacidades: Basic
ParticleEmitter.Brightness:number

Color
Leer paralelo
Capacidades: Basic
ParticleEmitter.Color:ColorSequence

Drag
Leer paralelo
Capacidades: Basic
ParticleEmitter.Drag:number

EmissionDirection
Leer paralelo
Capacidades: Basic
ParticleEmitter.EmissionDirection:Enum.NormalId

Enabled
Leer paralelo
Capacidades: Basic
ParticleEmitter.Enabled:boolean

FlipbookBlendFrames
Leer paralelo
Capacidades: Basic
ParticleEmitter.FlipbookBlendFrames:boolean

FlipbookFramerate
Leer paralelo
Capacidades: Basic
ParticleEmitter.FlipbookFramerate:NumberRange

FlipbookIncompatible
Leer paralelo
Capacidades: Basic
ParticleEmitter.FlipbookIncompatible:string

FlipbookLayout
Leer paralelo
Capacidades: Basic
ParticleEmitter.FlipbookLayout:Enum.ParticleFlipbookLayout

FlipbookMode
Leer paralelo
Capacidades: Basic
ParticleEmitter.FlipbookMode:Enum.ParticleFlipbookMode

FlipbookSizeX
Leer paralelo
Capacidades: Basic
ParticleEmitter.FlipbookSizeX:number

FlipbookSizeY
Leer paralelo
Capacidades: Basic
ParticleEmitter.FlipbookSizeY:number

FlipbookStartRandom
Leer paralelo
Capacidades: Basic
ParticleEmitter.FlipbookStartRandom:boolean

Lifetime
Leer paralelo
Capacidades: Basic
ParticleEmitter.Lifetime:NumberRange

LightEmission
Leer paralelo
Capacidades: Basic
ParticleEmitter.LightEmission:number

LightInfluence
Leer paralelo
Capacidades: Basic
ParticleEmitter.LightInfluence:number

LocalTransparencyModifier
Oculto
No replicado
Leer paralelo
Capacidades: Basic
ParticleEmitter.LocalTransparencyModifier:number

LockedToPart
Leer paralelo
Capacidades: Basic
ParticleEmitter.LockedToPart:boolean

Orientation
Leer paralelo
Capacidades: Basic
ParticleEmitter.Orientation:Enum.ParticleOrientation

Rate
Leer paralelo
Capacidades: Basic
ParticleEmitter.Rate:number

Rotation
Leer paralelo
Capacidades: Basic
ParticleEmitter.Rotation:NumberRange

RotSpeed
Leer paralelo
Capacidades: Basic
ParticleEmitter.RotSpeed:NumberRange

Shape
Leer paralelo
Capacidades: Basic
ParticleEmitter.Shape:Enum.ParticleEmitterShape

ShapeInOut
Leer paralelo
Capacidades: Basic
ParticleEmitter.ShapeInOut:Enum.ParticleEmitterShapeInOut

ShapePartial
Leer paralelo
Capacidades: Basic
ParticleEmitter.ShapePartial:number

ShapeStyle
Leer paralelo
Capacidades: Basic
ParticleEmitter.ShapeStyle:Enum.ParticleEmitterShapeStyle

Size
Leer paralelo
Capacidades: Basic
ParticleEmitter.Size:NumberSequence

Speed
Leer paralelo
Capacidades: Basic
ParticleEmitter.Speed:NumberRange

SpreadAngle
Leer paralelo
Capacidades: Basic
ParticleEmitter.SpreadAngle:Vector2

Squash
Leer paralelo
Capacidades: Basic
ParticleEmitter.Squash:NumberSequence

Texture
Leer paralelo
Capacidades: Basic
ParticleEmitter.Texture:ContentId

TimeScale
Leer paralelo
Capacidades: Basic
ParticleEmitter.TimeScale:number

Transparency
Leer paralelo
Capacidades: Basic
ParticleEmitter.Transparency:NumberSequence

VelocityInheritance
Leer paralelo
Capacidades: Basic
ParticleEmitter.VelocityInheritance:number

VelocitySpread
Obsoleto

WindAffectsDrag
Leer paralelo
Capacidades: Basic
ParticleEmitter.WindAffectsDrag:boolean

ZOffset
Leer paralelo
Capacidades: Basic
ParticleEmitter.ZOffset:number

Métodos
Clear
Capacidades: Basic
ParticleEmitter:Clear():()
Devuelve
()
Muestras de código
Emisor de Partículas Burst
local emitter = script.Parent
while true do
emitter:Clear()
emitter:Emit(10)
task.wait(2)
end

Emit
Capacidades: Basic
ParticleEmitter:Emit(particleCount:number):()
Parámetros
particleCount:number
Valor predeterminado: 16
Devuelve
()
Muestras de código
Emitir Partículas a Distancia
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
Emisor de Partículas Burst
local emitter = script.Parent
while true do
emitter:Clear()
emitter:Emit(10)
task.wait(2)
end

©2026 Roblox Corporation. Roblox, el logotipo de Roblox y "Powering Imagination" son algunas de nuestras marcas registradas y no registradas en los Estados Unidos y otros países.