Fire

Veraltete anzeigen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Feuer ist eine von mehreren vordefinierten Partikel-emittierenden Klassen.Wie andere Partikelstrahlende Objekte emittiert ein Feuer Partikel, wenn es mit einem BasePart und Attachment verbunden wird, und während Enabled .Dieses Objekt ist nützlich, um schnell eine visuelle Wirkung in einem Augenzwinkern zu erzeugen; für detailliertere Arbeit ist es vorzuziehen, stattdessen ein ParticleEmitter zu verwenden.

Feuerpartikel strahlen vom Zentrum von BasePart aus, zu dem sie angehören.Die Partikel werden in Richtung oben (+Y) emittiert; jedoch kann ein negativer Fire.Heat verwendet werden, um in Richtung unten (-Y) zu emittieren.Die Verwendung eines Attachment als Elternteil ermöglicht es stattdessen, die Emissionsposition/-richtung durch Ändern der Attachment.CFrame oder verwandten Eigenschaften zu modifizieren.

Wenn Enabled ausgeschaltet ist, rendern bestehende Partikel weiter, bis sie ablaufen.Wenn das Feuer jedoch auf eingestellt ist, verschwinden alle vorhandenen Partikel sofort, ähnlich wie das Verhalten von .Es ist möglich, die Parent auf nil zu setzen, und zurück zum genauen ursprünglichen Objekt, um den gleichen Effekt zu erzielen.Wenn sofortiges Verschwinden nicht gewünscht ist, versuche, den Eltern des Feuers in eine weit entfernte Position zu bewegen, dann Destroy das Feuer nach einigen Sekunden mit Debris:AddItem() .Dies gibt den existierenden Partikeln Zeit zum Ablaufen.

Feuerobjekte emittieren kein Licht von besitzen.Um zu helfen, eine kohärente Umgebung um ein brennendes Objekt herum zu schaffen, versuche, ein PointLight mit einem orangen Color hinzuzufügen.Dies kann dazu beitragen, dass dein Feuer realistischer erscheint.

Feuerobjekte bestehen aus zwei Emittenten.Beide werden in verschiedener Weise durch das Feuer Size, Heat, Color und SecondaryColor beeinflusst.Die Partikel strahlen vom kleineren, sekundären Emittenten mit einer deutlich längeren Lebensdauer aus (und steigen weiter) als diejenigen, die vom primären Emittenten emittiert werden.Im Video rechts können Sie die beiden Emitter mit den unterschiedlichen Farben sehen.

Im Gegensatz zu echten Flammen verbreitet sich das Feuer-Objekt nicht von selbst .Wenn du dieses Verhalten in deinem Spiel bemerkst, geschieht es aufgrund eines Script .

Code-Beispiele

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

Zusammenfassung

Eigenschaften

  • Parallel lesen

    Bestimmt die Farbe der primären (äußeren) Flamapartikel.

  • Parallel lesen

    Bestimmt, ob Flammenpartikel emittiert werden.

  • Nicht repliziert
    Parallel lesen

    Bestimmt die Geschwindigkeit, mit der Partikel emittiert werden.

  • Verborgen
    Nicht repliziert
    Parallel lesen
  • Parallel lesen

    Bestimmt die Farbe der Sekundär- (inneren) Flamaspartikel.

  • Nicht repliziert
    Parallel lesen

    Bestimmt die Größe der Flammenpartikel.

  • Parallel lesen

    Wert zwischen 0-1, der die Geschwindigkeit des Partikeleffekts steuert.

Eigenschaften

Color

Parallel lesen

Die Farbeigenschaft bestimmt die Farbe der größeren Partikel, die von einem Fire Objekt emittiert werden.Es ist im Wesentlichen die Farbe des äußeren Teils der Flamme.

Im Allgemeinen sind die kühleren Flammen auf der Außenseite eines initiieren.Daher sieht Feuer realistischer aus, wenn die äußeren Teile rot oder orange-gelb sind.Ein Feuer, das die ganze Zeit hell ist, sieht nicht sehr realistisch aus, vermeide es daher, diese Eigenschaft auf Gelb zu setzen.Versuche, ein PointLight mit dem PointLight.Color als Geschwisterteil zum Fire hinzuzufügen.Dies wird Licht in die umliegende Umgebung bringen und sie mit den Flammenpartikeln kohesiver fühlen lassen.

Code-Beispiele

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

Parallel lesen

Die Eigenschaftenaktiviert bestimmt, wie ParticleEmitter.Enabled, ob Flammenpartikel emittiert werden.Alle Partikel, die bereits emittiert werden, werden weiterhin gerendert, bis ihre Lebensdauer abläuft.Diese Eigenschaft ist nützlich, um vorherige Feineffekte auszublenden, bis sie später benötigt werden.Da Flammenpartikel zerstört werden, wenn das Objekt auf gesetzt wird, ist diese Eigenschaft nützlich, um es existierenden Partikeln die Möglichkeit zu geben, auszulaufen, bevor das Feuerobjekt vollständig zerstört wird.Siehe die Funktion unten.


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)

Code-Beispiele

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

Nicht repliziert
Parallel lesen

Die Eigenschaft Hitze legt fest, wie schnell Partikel vom Fire Objekt emittiert werden.Es ist auf den Bereich [-25, 25] beschränkt.Positive Werte sind in der oberen (+Y) Richtung des Eltern BasePart oder Attachment .Es wirkt sich auch auf die ParticleEmitter.Acceleration der inneren Partikel aus.Unten können Sie die Auswirkungen höherer Temperaturen auf die Geschwindigkeit/Beschleunigung der Flammenpartikel (links hat Hitze = 9, rechts hat Hitze = 18) sehen.

Code-Beispiele

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

Verborgen
Nicht repliziert
Parallel lesen

SecondaryColor

Parallel lesen

Die Eigenschaft SecondaryColor bestimmt die Farbe der kleineren Partikel, die von einem Fire-Objekt emittiert werden.Es ist im Wesentlichen die Farbe des inneren Teils der Flamme.Unten können Sie sehen, dass die Sekundärfarbe der Flamme auf Weiß eingestellt ist, um sich von den größeren, äußeren Partikeln zu unterscheiden, die auf Blau eingestellt sind Fire.Color.Es sollte beachtet werden, dass die inneren Partikel einen ParticleEmitter.LightEmission von 1 verwenden, so dass dunklere Farben die Partikel stattdessen transparent erscheinen lassen (und daher werden innere Partikel gänzlich aufhören zu rendern).

Code-Beispiele

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

Nicht repliziert
Parallel lesen

Diese Eigenschaft legt die Größe der Flammenpartikel fest.Es muss sich in dem Bereich von 2 bis 30 befinden.Im Gegensatz zu ParticleEmitter.Size wird die tatsächliche Größe der Flammen nicht 1:1 mit der entsprechenden Größe in Stollen übereinstimmen; es ist etwas kleiner.

Um deine Umgebung kohärenter zu machen, versuche, ein PointLight als Geschwisterteil zum Fire Objekt hinzuzufügen.Stelle die PointLight.Brightness und PointLight.Range proportional zu dieser Eigenschaft ein, damit größere Flammen mehr Licht erzeugen.

Code-Beispiele

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

Parallel lesen

Ein Wert zwischen 0-1 kontrolliert die Geschwindigkeit des Partikeleffekts.Bei 1 läuft es mit normaler Geschwindigkeit, bei 0.5 läuft es mit halber Geschwindigkeit und bei 0 wird die Zeit eingefroren.

Methoden

Ereignisse