Fire
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Fuoco è una delle diverse Classiemissive di particelle prefinite.Come altri oggetti emittenti particelle, un Fire emette particelle quando è parented a un e mentre .Questo oggetto è utile per creare un effetto visivo rapido in un lampo; per un lavoro più dettagliato è preferibile utilizzare un ParticleEmitter invece.
Le particelle di fuoco si emettono dal centro di BasePart a cui sono parented.Le particelle sono emesse verso l'alto (+Y) direzione; tuttavia, un negativo Fire.Heat può essere utilizzato per emettere nella direzione inferiore (-Y).L'utilizzo di un Attachment come genitore invece consente di modificare la posizione/direzione di emissione cambiando le proprietà Attachment.CFrame o correlate.
Quando Enabled è Off, le particelle esistenti continuano a rendere fino a quando scadono.Tuttavia, se il Fire's Parent è impostato su nil tutte le particelle esistenti scompariranno immediatamente, simile al comportamento di ParticleEmitter:Clear() .È possibile impostare il Parent a nil e tornare all'esatto oggetto originale per ottenere lo stesso effetto.Se la scomparsa immediata non è desiderata, prova a spostare il genitore del Fuoco in una posizione lontana, quindi Destroy il Fuoco dopo alcuni secondi usando Debris:AddItem() .Ciò darà ai particolari esistenti il tempo di scadere.
Gli oggetti di fuoco non emettono luce da Proprio.Per aiutare a creare un ambiente coeso attorno a un oggetto in fiamme, prova ad aggiungere un PointLight con un arancione Color .Questo può aiutare il tuo fuoco ad apparire più realistico.
L'oggetto di fuoco consiste di due emittenti.Entrambi sono influenzati in modi diversi dal Fuoco di Size, Heat, Color e SecondaryColor.Le particelle emesse dall'emittente secondario più piccolo hanno una vita significativamente più lunga (e salgono più in alto) di quelle emesse dall'emittente primario.Nel video a destra, puoi vedere i due emittenti con i colori distinti.
A differenza delle fiamme reali, l'oggetto Fuoco non si diffonde da solo .Se noti questo comportamento nel tuo Gioco, sta accadendo a causa di un Script .
Campioni di codice
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
Sommario
Proprietà
Determina il colore delle particelle di fiamma primaria (esterna).
Determina se le particelle di fiamma vengono emesse.
Determina la velocità alla quale vengono emessi i particolari.
Determina il colore delle particelle di fiamma secondaria (interne).
Determina la dimensione delle particelle di fiamma.
Valore tra 0-1 che controlla la velocità dell'effetto delle particelle.
Metodi
Proprietà
Color
La proprietà Colore determina il colore delle particelle più grandi emesse da un oggetto Fire .È essenzialmente il colore della porzione esterna della fiamma.
In Generale, le fiamme più fresche sono all'esterno di un Lanciare.Pertanto, il fuoco sembra più realistico se le porzioni esterne sono rosse o arancio-gialli.Un fuoco che è luminoso per tutto il tempo non sembra molto realistico, quindi evita di impostare questa proprietà a giallo.Prova ad aggiungere un PointLight con il PointLight.Color come fratello al Fire .Ciò fornirà luce all'ambiente circostante e lo renderà più coeso con le particelle di fiamma.
Campioni di codice
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
La ProprietàAbilitata, molto come ParticleEmitter.Enabled , determina se le particelle di fiamma vengono emesse.Qualsiasi particella già emessa continuerà a rendere fino alla scadenza della loro vita.Questa proprietà è utile per mantenere gli effetti di fuoco pre-fatti disattivati fino a quando non sono necessari più tardi.Poiché le particelle di fiamma vengono distrutte quando l'oggetto viene impostato su , questa proprietà è utile per consentire alle particelle esistenti di avere l'opportunità di scadere prima di distruggere completamente l'oggetto Fuoco.Vedi la funzione qui sotto.
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)
Campioni di codice
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
La proprietà Calore determina quanto velocemente le particelle vengono emesse dall'oggetto Fire.È limitato alla gamma [-25, 25].I valori positivi sono nella direzione superiore (+Y) del genitore BasePart o Attachment .Affecta anche il ParticleEmitter.Acceleration delle particelle interne.Di seguito, puoi vedere gli effetti di un calore maggiore sulla velocità/accelerazione delle particelle di fiamma (sinistra ha Calore = 9, destra ha Calore = 18).
Campioni di codice
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
La proprietà SecondaryColor determina il colore delle particelle più piccole emesse da un oggetto Fire .È essenzialmente il colore della parte interna della fiamma.Di seguito, puoi vedere che il colore secondario della fiamma è impostato su bianco per differenziarsi dalle particelle più grandi e esterne che hanno Fire.Color impostato su blu.Si deve notare che le particelle interne utilizzano un ParticleEmitter.LightEmission di 1, quindi i colori più scuri faranno invece apparire le particelle trasparenti (e quindi il nero renderà le particelle interne totalmente invisibili).
Campioni di codice
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
Questa proprietà determina la dimensione delle particelle di fiamma.Deve essere nella gamma da 2 a 30.A differenza di ParticleEmitter.Size, la dimensione effettiva delle fiamme non corrisponderà a 1:1 con la dimensione equivalente in studs; è leggermente più piccola.
Per rendere il tuo ambiente più coeso, prova ad aggiungere un PointLight come fratello all'oggetto Fire.Imposta il PointLight.Brightness e PointLight.Range proporzionale a questa proprietà in modo che le fiamme più grandi producano più luce.
Campioni di codice
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
Un valore tra 0-1 che controlla la velocità dell'effetto delle particelle.A 1 esegue a velocità normale, a 0.5 esegue a metà velocità e a 0 congela il tempo.