Fire

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í.

Fuego es una de varias Clasesde emisión de partículas prefabricadas.Al igual que otros objetos emisores de partículas, un fuego emite partículas cuando está asociado a un y mientras .Este objeto es útil para crear un efecto visual rápido en un apuro; para un trabajo más detallado, es preferible usar un ParticleEmitter en su lugar.

Las partículas de fuego emiten desde el centro de BasePart a las que son padres.Las partículas se emiten hacia la dirección superior (+Y); sin embargo, se puede usar una negativa Fire.Heat para emitir en la dirección inferior (-Y).Usar un Attachment como padre en lugar de usarlo permite que la posición/dirección de emisión se modifique cambiando las propiedades Attachment.CFrame o relacionadas.

Cuando Enabled está desactivado, las partículas existentes continúan renderizándose hasta que expiran.Sin embargo, si el fuego Parent está configurado a nil todas las partículas existentes desaparecen inmediatamente, similar al comportamiento de ParticleEmitter:Clear() .Es posible establecer el Parent a nil y volver al objeto original exacto para lograr el mismo efecto.Si no se desea la desaparición inmediata, prueba mover al padre del fuego a una posición lejana, luego Destroy el fuego después de unos pocos segundos usando Debris:AddItem() .Esto dará tiempo a las partículas existentes para expirar.

Los objetos de fuego no emiten luz por sí en posesión.Para ayudar a crear un entorno cohesivo alrededor de un objeto en llamas, prueba agregar un PointLight con un naranja Color .Esto puede ayudar a que tu fuego parezca más realista.

El objeto de fuego consiste en dos emisores.Ambos son afectados de diferentes maneras por el fuego de Size, Heat, Color y SecondaryColor.Las partículas emiten desde el emisor secundario más pequeño tienen una vida útil significativamente más larga (y aumentan más lejos) que las emitidas por el emisor principal.En el video a la derecha, puedes ver los dos emisores con los colores distintos.

A diferencia de las llamas reales, el objeto de Fuego no se propaga por sí mismo .Si notas este comportamiento en tu juego, está sucediendo debido a un Script .

Muestras de código

This code sample adds Fire to all BasePart in the Workspace named "Torch".

Lighting Torches

for _, child in pairs(workspace:GetChildren()) do
if child.Name == "Torch" and child:IsA("BasePart") then
local fire = Instance.new("Fire")
fire.Heat = 10
fire.Color = child.Color
fire.SecondaryColor = Color3.new(1, 1, 1) -- White
fire.Size = math.max(child.Size.X, child.Size.Z) -- Pick the larger of the two dimensions
fire.Parent = child
end
end

Resumen

Propiedades

  • Leer paralelo

    Determina el color de las partículas de llama primaria (externa).

  • Leer paralelo

    Determina si se emiten partículas de llama.

  • No replicado
    Leer paralelo

    Determina la velocidad a la que se emiten las partículas.

  • Oculto
    No replicado
    Leer paralelo
  • Leer paralelo

    Determina el color de las partículas de llama secundaria (interna).

  • No replicado
    Leer paralelo

    Determina el tamaño de las partículas de llama.

  • 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 las partículas más grandes emitidas por un objeto Fire .Es esencialmente el color de la parte exterior de la llama.

En general, las llamas más frías están en el exterior de un desencadenar.Por lo tanto, el fuego parece más realista si las porciones exteriores son rojas o naranja-amarillas.Un fuego que es brillante durante todo el tiempo no se ve muy realista, así que evita establecer esta propiedad en amarillo.Prueba agregar un PointLight con el PointLight.Color como hermano del Fire .Esto proporcionará luz al entorno circundante y lo hará sentir más cohesivo con las partículas de llama.

Muestras de código

This code sample adds Fire to all BasePart in the Workspace named "Torch".

Lighting Torches

for _, child in pairs(workspace:GetChildren()) do
if child.Name == "Torch" and child:IsA("BasePart") then
local fire = Instance.new("Fire")
fire.Heat = 10
fire.Color = child.Color
fire.SecondaryColor = Color3.new(1, 1, 1) -- White
fire.Size = math.max(child.Size.X, child.Size.Z) -- Pick the larger of the two dimensions
fire.Parent = child
end
end

Enabled

Leer paralelo

La propiedad Habilitada, mucho como ParticleEmitter.Enabled, determina si se emiten partículas de llama.Cualquier partícula ya emitida continuará renderizándose hasta que expire su vida útil.Esta propiedad es útil para mantener los efectos de fuego precocinados desactivados hasta que se necesiten más tarde.Dado que las partículas de llama se destruyen cuando el objeto está establecido en , 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 douseFlames(fire)
fire.Enabled = false -- No more new particles
Debris:AddItem(fire, 2) -- Remove the object after a delay (after existing particles have expired)
end
douseFlames(part.Fire)

Muestras de código

This code sample allows a player to click the parent BasePart to toggle a fire effect.

Toggle Fire Effect

local part = script.Parent
local clickDetector = Instance.new("ClickDetector")
clickDetector.Parent = part
local fire = Instance.new("Fire")
fire.Parent = part
local light = Instance.new("PointLight")
light.Parent = part
local function onClick()
fire.Enabled = not fire.Enabled
light.Enabled = fire.Enabled
end
clickDetector.MouseClick:Connect(onClick)

Heat

No replicado
Leer paralelo

La propiedad de calor determina qué tan rápido se emiten las partículas del objeto Fire.Está limitado al rango [-25, 25].Los valores positivos están en la dirección superior (+Y) del padre BasePart o Attachment .También afecta al ParticleEmitter.Acceleration de las partículas internas.A continuación, puedes ver los efectos del calor más alto en la velocidad/aceleración de las partículas de llama (izquierda tiene calor = 9, derecha tiene calor = 18).

Muestras de código

This code sample adds Fire to all BasePart in the Workspace named "Torch".

Lighting Torches

for _, child in pairs(workspace:GetChildren()) do
if child.Name == "Torch" and child:IsA("BasePart") then
local fire = Instance.new("Fire")
fire.Heat = 10
fire.Color = child.Color
fire.SecondaryColor = Color3.new(1, 1, 1) -- White
fire.Size = math.max(child.Size.X, child.Size.Z) -- Pick the larger of the two dimensions
fire.Parent = child
end
end

LocalTransparencyModifier

Oculto
No replicado
Leer paralelo

SecondaryColor

Leer paralelo

La propiedad Color secundario determina el color de las partículas más pequeñas emitidas por un objeto Fire .Es esencialmente el color de la parte interna de la llama.A continuación, puedes ver que el color secundario de la llama está establecido en blanco para diferenciar con las partículas más grandes y externas que tienen Fire.Color establecido en azul.Cabe señalar que las partículas internas usan un ParticleEmitter.LightEmission de 1, por lo que los colores más oscuros harán que las partículas parezcan transparentes (y, por lo tanto, el negro dejará de renderizar partículas internas por completo).

Muestras de código

This code sample adds Fire to all BasePart in the Workspace named "Torch".

Lighting Torches

for _, child in pairs(workspace:GetChildren()) do
if child.Name == "Torch" and child:IsA("BasePart") then
local fire = Instance.new("Fire")
fire.Heat = 10
fire.Color = child.Color
fire.SecondaryColor = Color3.new(1, 1, 1) -- White
fire.Size = math.max(child.Size.X, child.Size.Z) -- Pick the larger of the two dimensions
fire.Parent = child
end
end

Size

No replicado
Leer paralelo

Esta propiedad determina el tamaño de las partículas de llama.Debe estar entre 2 y 30.A diferencia de ParticleEmitter.Size, el tamaño real de las llamas no coincidirá 1:1 con el tamaño equivalente en studs; es un poco más pequeño.

Para hacer que tu entorno sea más cohesivo, intenta agregar un PointLight como hermano del objeto Fire.Establece el PointLight.Brightness y PointLight.Range proporcional a esta propiedad para que las llamas más grandes produzcan más luz.

Muestras de código

This code sample adds Fire to all BasePart in the Workspace named "Torch".

Lighting Torches

for _, child in pairs(workspace:GetChildren()) do
if child.Name == "Torch" and child:IsA("BasePart") then
local fire = Instance.new("Fire")
fire.Heat = 10
fire.Color = child.Color
fire.SecondaryColor = Color3.new(1, 1, 1) -- White
fire.Size = math.max(child.Size.X, child.Size.Z) -- Pick the larger of the two dimensions
fire.Parent = child
end
end

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