Smoke
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
Fumaça é uma das várias Classesemissoras de partículas.Como outros emissores de partículas de seu tipo, objetos de Fumaça emitem partículas quando parentados a um BasePart (como um Part ) ou a um Attachment dentro de tal BasePart .Comparado à classe ParticleEmitter , Fuma carece de muitas propriedades de personalização diferentes e métodos especiais, como ParticleEmitter.Lifetime ou ParticleEmitter:Emit().É útil criar um efeito especial rápido em um piscar de olhos; para um trabalho mais detalhado, é preferível usar um ParticleEmitter em vez disso.
Quando Smoke.Enabled é desligado, as partículas emitidas por este objeto continuarão a renderizar até que sua vida útil expire.Quando um Objetode Fumaça é definido como (e/ou editado), todas as partículas desaparecerão instantaneamente.Se esse efeito não for desejado, tente ocultar o objeto pai em uma posição distante, então remova a Fuma após alguns segundos usando Debris para dar às últimas partículas uma chance de expirar.Este objeto não tem um método ParticleEmitter:Clear() , mas é possível definir o Instance.Parent para nil e voltar ao mesmo objeto exato para o mesmo efeito.
Partículas de fumaça são emitidas apenas do centro de BasePart para o qual elas são parentadas.Parentar um objeto de Fumaça para um Attachment em vez disso permite a personalização da posição de início das partículas.
Amostras de código
Este exemplo de código adiciona um objeto Smoke a cada objeto Fire na Workspace. Ele faz isso usando uma busca recursiva.
local function recurseForFire(object)
-- Verifique se encontramos um objeto de Fogo que não tem Fumaça
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Crie um efeito de fumaça para esse fogo
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 a busca por objetos de Fogo
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)
Resumo
Propriedades
Determina a cor das partículas de fumaça.
Determina se as partículas de fumaça emitem.
Determina como as partículas de fumaça opaca se renderizar.
Determina a velocidade das partículas de fumaça.
Determina o tamanho das partículas de fumaça recém-emitidas.
Valor entre 0-1 que controla a velocidade do efeito de partículas.
Propriedades
Color
Amostras de código
local function recurseForFire(object)
-- Verifique se encontramos um objeto de Fogo que não tem Fumaça
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Crie um efeito de fumaça para esse fogo
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 a busca por objetos de Fogo
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)
Enabled
Amostras de código
local function recurseForFire(object)
-- Verifique se encontramos um objeto de Fogo que não tem Fumaça
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Crie um efeito de fumaça para esse fogo
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 a busca por objetos de Fogo
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)
LocalTransparencyModifier
Opacity
Amostras de código
local function recurseForFire(object)
-- Verifique se encontramos um objeto de Fogo que não tem Fumaça
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Crie um efeito de fumaça para esse fogo
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 a busca por objetos de Fogo
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)
RiseVelocity
Amostras de código
local function recurseForFire(object)
-- Verifique se encontramos um objeto de Fogo que não tem Fumaça
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Crie um efeito de fumaça para esse fogo
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 a busca por objetos de Fogo
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)
Size
Amostras de código
local function recurseForFire(object)
-- Verifique se encontramos um objeto de Fogo que não tem Fumaça
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Crie um efeito de fumaça para esse fogo
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 a busca por objetos de Fogo
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)