Smoke

Mostrar obsoleto

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

La humareda es una de varias Clasesemisoras de partículas.Al igual que otros emisores de partículas de su tipo, los objetos de humo emiten partículas cuando están patrocinados por un BasePart (como un Part ) o un Attachment dentro de tal BasePart .En comparación con la clase ParticleEmitter , Smoke carece de muchas propiedades de personalización diferentes y métodos especiales, como ParticleEmitter.Lifetime o ParticleEmitter:Emit().Es útil crear un efecto especial rápido en un apuro; para un trabajo más detallado, es preferible usar un ParticleEmitter en su lugar.

Cuando Smoke.Enabled está desactivado, las partículas emitidas por este objeto continuarán renderizándose hasta que expire su vida útil.Cuando un objeto de humo se establece en (y/o ed), todas las partículas desaparecerán instantáneamente.Si este efecto no es deseado, intenta ocultar el objeto padre en una posición lejana, luego elimina la Nube después de unos segundos usando Debris para darle a las últimas partículas la oportunidad de expirar.Este objeto no tiene un método ParticleEmitter:Clear() , pero es posible establecer el Instance.Parent a nil y volver al mismo objeto exacto para el mismo efecto.

Las partículas de humo solo se emiten desde el centro de BasePart a donde son padres.Padronizar un objeto de humo a un Attachment en lugar de permitir la personalización de la posición de inicio de las partículas.

Muestras de código

This code sample adds a Smoke object to every Fire object in the Workspace. It does this by using a recursive search.

Add Smoke to All Fire

local function recurseForFire(object)
-- Check if we found a Fire object that has no Smoke
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Create a smoke effect for this fire
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Continue search for Fire objects
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)

Resumen

Propiedades

  • Leer paralelo

    Determina el color de las partículas de humo.

  • Leer paralelo

    Determina si emiten partículas de humo.

  • Oculto
    No replicado
    Leer paralelo
  • No replicado
    Leer paralelo

    Determina cómo se Renderizarlas partículas de humo opacas.

  • No replicado
    Leer paralelo

    Determine la velocidad de las partículas de humo.

  • No replicado
    Leer paralelo

    Determina el tamaño de las partículas de humo recién emitidas.

  • Leer paralelo

    Valor entre 0-1 que controla la velocidad del efecto de partículas.

Propiedades

Color

Leer paralelo

La propiedad de Color determina el color de todas las partículas emitidas por un objeto Smoke (tanto partículas existentes como futuras).Se comporta de manera similar a ParticleEmitter.Color , excepto que es solo un color y no un ColorSequence .Un color blanco con algo de Smoke.Opacity hace un buen efecto de niebla, y un color negro muy opaco puede complementar un objeto Fire muy bien.

Muestras de código

This code sample adds a Smoke object to every Fire object in the Workspace. It does this by using a recursive search.

Add Smoke to All Fire

local function recurseForFire(object)
-- Check if we found a Fire object that has no Smoke
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Create a smoke effect for this fire
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Continue search for Fire objects
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)

Enabled

Leer paralelo

La propiedad Habilitada, mucho como ParticleEmitter.Enabled, determina si se emiten partículas de humo.Cualquier partícula ya emitida continuará renderizándose hasta que expire su vida útil.Esta propiedad es útil para mantener los efectos de humo precocinados desactivados hasta que se necesiten más tarde.Dado que las partículas de humo se destruyen cuando el objeto se establece en para que expire antes de destruir el objeto de fuego por completo, esta propiedad es útil para permitir que las partículas existentes tengan la oportunidad de expirar antes de destruir el objeto de fuego por completo.Vea la función a continuación.


local Debris = game:GetService("Debris")
local part = script.Parent
function stopSmoke(smoke)
smoke.Enabled = false -- No more new particles
Debris:AddItem(smoke, 10) -- Remove the object after a delay (after existing particles have expired)
end
stopSmoke(part.Smoke)

Muestras de código

This code sample adds a Smoke object to every Fire object in the Workspace. It does this by using a recursive search.

Add Smoke to All Fire

local function recurseForFire(object)
-- Check if we found a Fire object that has no Smoke
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Create a smoke effect for this fire
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Continue search for Fire objects
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)

LocalTransparencyModifier

Oculto
No replicado
Leer paralelo

Opacity

No replicado
Leer paralelo

La opacidad determina la opacidad de las partículas de humo.Debe estar en el rango [0, 1].Esta propiedad funciona inversamente en comparación con un valor de BasePart.Transparency de una parte o ParticleEmitter.Transparency del Emisor de partículas: un valor de 0 es completamente invisible, uno es completamente visible.

La textura que Roblox usa para Smoke partículas es parcialmente transparente, por lo que establecer esta propiedad en 1 aún produce transparencia en el humo renderizado.

Muestras de código

This code sample adds a Smoke object to every Fire object in the Workspace. It does this by using a recursive search.

Add Smoke to All Fire

local function recurseForFire(object)
-- Check if we found a Fire object that has no Smoke
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Create a smoke effect for this fire
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Continue search for Fire objects
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)

RiseVelocity

No replicado
Leer paralelo

RiseVelocity se comporta de manera similar a ParticleEmitter.Speed y Fire.Heat : determina qué tan rápido se mueven las partículas de humo durante su vida útil.Debe estar en el rango [-25, 25].Los valores negativos harán que las partículas emitan en la dirección inferior (-Y) del padre BasePart .

Al usar un efecto Smoke para crear niebla, establece esta propiedad a 0.Para efectos de humo grandes, haz que la subida sea sutil (de 2 a 8).Para chimeneas y estufas, los valores más altos son apropiados.

Muestras de código

This code sample adds a Smoke object to every Fire object in the Workspace. It does this by using a recursive search.

Add Smoke to All Fire

local function recurseForFire(object)
-- Check if we found a Fire object that has no Smoke
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Create a smoke effect for this fire
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Continue search for Fire objects
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)

Size

No replicado
Leer paralelo

La propiedad de tamaño de Smoke determina el tamaño de las partículas de humo recién emitidas.A diferencia de Smoke.Color, esta propiedad no cambiará el tamaño de las partículas existentes.Debe estar en el rango [0.1, 100].A diferencia de ParticleEmitter.Size , esta propiedad es solo un número (no un NumberSequence ).También tenga en cuenta que el tamaño de las partículas no es 1-a-1 con studs; de hecho, el tamaño de la partícula de humo es más de dos veces más grande.En el tamaño más grande, ¡las partículas de humo pueden renderizarse más grandes que 200 tachuelas de ancho!

Muestras de código

This code sample adds a Smoke object to every Fire object in the Workspace. It does this by using a recursive search.

Add Smoke to All Fire

local function recurseForFire(object)
-- Check if we found a Fire object that has no Smoke
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Create a smoke effect for this fire
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Continue search for Fire objects
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)

TimeScale

Leer paralelo

Un valor entre 0-1 que controla la velocidad del efecto de partículas.En 1 se ejecuta a velocidad normal, en 0.5 se ejecuta a la mitad de velocidad y en 0 se congela el tiempo.

Métodos

Eventos