Smoke
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Il fumo è una di diverse Classiemitt
Quando Smoke.Enabled è disatt
Le particelle di fumo vengono emesse solo dal centro di BasePart a cui sono parented. Parenting a Smoke oggetto a un Attachment invece consente la personalizzazione della posizione di partenza delle parti.
Campioni di codice
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)
Sommario
Proprietà
Determina il colore delle parti di fumo.
Determina se le parti di fumo emettono.
Determina il modo in cui le particelle di fumo opache si Renderizzare.
Determina la velocità delle particelle di fumo.
Determina la dimensione delle nuove particelle di fumo.
Valore tra 0-1 che controlla la velocità dell'effetto di partecipazione.
Metodi
Proprietà
Color
La proprietà Colore determina il colore di tutte le particelle che emettono da un oggetto Smoke (sia le parti esistenti che future). Si comporta allo stesso modo di ParticleEmitter.Color , tranne che è solo un colore e non un
Campioni di codice
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
La ProprietàAbilitata, molto simile a ParticleEmitter.Enabled , determina se le particelle di fumo vengono emesse. Tutte le parti che emettono già emetteranno fino a quando la loro vita non scade. Questa proprietà è utile per mantenere gli effetti pre-fatti del fumo fino a quando non sono necessari
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)
Campioni di codice
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
Opacity
Opacity determines the opaqueness of the smoke particles. It must be in the range [0, 1]. This property works inversely in comparison to a part's BasePart.Transparency or ParticleEmitter's ParticleEmitter.Transparency : a value of 0 is completely invisible, 1 is completely visible.
La texture che Roblox utilizza per le Smoke particelle è parzialmente trasparente, quindi impostando questa proprietà su 1 rende ancora trasparente il fumo in tempo di rendering.
Campioni di codice
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
RiseVelocity si comporta in modo simile a ParticleEmitter.Speed e Fire.Heat : è determinato dal fatto che le particelle di fumo si muovono durante il loro lifetime. Deve essere in range [-25, 25]. I valori negativi fanno in modo che le parti emettono nella direzione inferiore (-Y) della parent BasePart .
Quando si utilizza un effetto Smoke per creare nebbia, imposta questa proprietà su 0. Per effetti di fumo grandi, rendi il discesa più sottile (2 a 8). Per le canne fumogene e le fumarate, valori più elevati sono appropriati.
Campioni di codice
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
La proprietà Size of Smoke determinano la dimensione delle nuove particelle di fumo emesse. A differenza di Smoke.Color, questa proprietà
Campioni di codice
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
Un valore tra 0-1 che controlla la velocità dell'effetto delle particelle. A 1 esegue la velocità normale, a 0.5 esegue la velocità ridotta e a 0 congela il tempo.