Fire
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
Fogo é uma das várias Classesemissoras de partículas pré-feitas.Como outros objetos emissores de partículas, um Fogo emite partículas quando parentado a um e enquanto .Este objeto é útil para criar um efeito visual rápido em um piscar de olhos; para um trabalho mais detalhado, é preferível usar um ParticleEmitter em vez disso.
Partículas de fogo emitem do centro de BasePart para o qual são parentes.Os participantes são emitidos na direção superior (+Y); no entanto, um negativo Fire.Heat pode ser usado para emitir na direção inferior (-Y).Usar um Attachment como Pai, em vez disso, permite que a posição/direção de emissão seja modificada alterando as propriedades Attachment.CFrame ou relacionadas.
Quando Enabled está desligado, as partículas existentes continuam a renderizar até expirarem.No entanto, se o Fire's Parent for definido como nil todas as partículas existentes desaparecem imediatamente, semelhante ao comportamento de ParticleEmitter:Clear() .É possível definir o Parent para nil e voltar ao objeto original exato para obter o mesmo efeito.Se a desaparecimento imediato não for desejada, tente mover o pai do Fogo para alguma posição distante, então Destroy o Fogo após alguns segundos usando Debris:AddItem().Isso dará tempo aos particíbulos existentes para expirar.
Objetos de fogo não emitem luz por conta possuir.Para ajudar a criar um ambiente coeso em torno de um objeto em chamas, tente adicionar um PointLight com uma laranja Color.Isso pode ajudar seu fogo a parecer mais realista.
O objeto de fogo consiste em dois emissores.Ambos são afetados de várias maneiras pelo Fogo's Size, Heat, Color e SecondaryColor.Os participantes emitem do emissor secundário menor têm uma vida útil significativamente maior (e sobem mais longe) do que aqueles emitidos pelo emissor primário.No vídeo à direita, você pode ver os dois emissores com as cores distintas.
Ao contrário das chamas reais, o objeto Fogo não se espalha por conta própria .Se você notar esse comportamento em seu jogo, está acontecendo por causa de um Script .
Amostras de código
This code sample adds Fire to all BasePart in the Workspace named "Torch".
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
Resumo
Propriedades
Determina a cor das partículas de chama primária (外部, exterior).
Determina se as partículas de chama são emitidas.
Determina a velocidade em que os participantes são emitidos.
Determina a cor das partículas de chama secundária (interna).
Determina o tamanho das partículas de chama.
Valor entre 0-1 que controla a velocidade do efeito de partículas.
Propriedades
Color
A propriedade Cor determina a cor das partículas maiores emitidas por um ObjetoFire maior.É essencialmente a cor da porção externa da chama.
Em geral, as chamas mais frias estão no exterior de um Iniciar / executar.Portanto, o fogo parece mais realista se as porções externas forem vermelhas ou laranja-amarelas.Um fogo que é brilhante durante todo o tempo não parece muito realista, então evite definir esta propriedade para amarelo.Tente adicionar um PointLight com o PointLight.Color como um irmão ao Fire.Isso fornecerá luz ao ambiente circundante e o fará se sentir mais coeso com as partículas de chama.
Amostras de código
This code sample adds Fire to all BasePart in the Workspace named "Torch".
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
A propriedade Ativada, muito como ParticleEmitter.Enabled, determina se as partículas de chama são emitidas.Quaisquer partículas já emitidas continuarão a renderizar até que sua vida útil expire.Essa propriedade é útil para manter efeitos de fogo pré-feitos desativados até que sejam necessários mais tarde.Como as partículas de chama são destruídas quando o Objetoé definido como , esta propriedade é útil em permitir que as partículas existentes tenham a oportunidade de expirar antes de destruir completamente o objeto de Fogo.Veja a função abaixo.
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)
Amostras de código
This code sample allows a player to click the parent BasePart to toggle a 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
A propriedade de Calor determina quão rápido as partículas são emitidas do ObjetoFire.Está limitado ao alcance [-25, 25].Os valores positivos estão na direção superior (+Y) do pai BasePart ou Attachment.Também afeta o ParticleEmitter.Acceleration das partículas internas.Abaixo, você pode ver os efeitos de calor mais alto na velocidade/aceleração das partículas de chama (esquerda tem Calor = 9, direita tem Calor = 18).
Amostras de código
This code sample adds Fire to all BasePart in the Workspace named "Torch".
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
SecondaryColor
A propriedade SecondaryColor determina a cor dos menores particíbulos emitidos por um ObjetoFire menor.É essencialmente a cor da parte interna da chama.Abaixo, você pode ver que a cor secundária da chama está definida para branco para se diferenciar das partículas maiores e externas, que têm Fire.Color.Deve-se notar que as partículas internas usam um ParticleEmitter.LightEmission de 1, então cores mais escuras farão com que as partículas apareçam transparentes (e, portanto, o preto deixará de renderizar partículas internas completamente).
Amostras de código
This code sample adds Fire to all BasePart in the Workspace named "Torch".
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
Essa propriedade determina o tamanho das partículas de chama.Deve estar na faixa de 2 a 30.Ao contrário de ParticleEmitter.Size, o tamanho real das chamas não corresponderá 1:1 ao tamanho equivalente em studs; é um pouco menor.
Para tornar seu ambiente mais coeso, tente adicionar um PointLight como irmão do ObjetoFire.Defina o PointLight.Brightness e PointLight.Range proporcional a esta propriedade para que chamas maiores produzam mais luz.
Amostras de código
This code sample adds Fire to all BasePart in the Workspace named "Torch".
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
Um valor entre 0-1 que controla a velocidade do efeito de partículas.Em 1, ele funciona a velocidade normal, em 0.5 funciona a metade da velocidade e em 0 congela o tempo.