Fire
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
Ogień to jedna z kilku gotowych klas emitujących cząstki.Podobnie jak inne obiekty emitujące cząstki, ogień emituje cząstki, gdy jest powiązany z BasePart i Attachment i podczas gdy Enabled .Ten obiekt jest przydatny do tworzenia szybkiego efektu wizualnego w mgnieniu oka; dla bardziej szczegółowej pracy lepiej jest użyć ParticleEmitter zamiast tego.
Cząstki ognia emitują z centrum BasePart do którego są przypisane.Cząsteczki są emitowane w kierunku góry (+Y); jednak negatywny Fire.Heat może być użyty do emisji w kierunku dołu (-Y).Użycie Attachment jako rodzica zamiast pozwala na zmianę pozycji/kierunku emisji poprzez zmianę właściwości Attachment.CFrame lub powiązanych.
Gdy Enabled jest wyłączone, istniejące cząstki nadal się renderują, dopóki nie wygasną.Jednak jeśli ogień Parent jest ustawiony na nil wszystkie istniejące cząstki natychmiast znikają, podobnie do zachowania ParticleEmitter:Clear() .Można ustawić Parent na nil i powrócić do dokładnego oryginalnego obiektu, aby osiągnąć ten sam efekt.Jeśli nie chcesz natychmiastowego zniknięcia, spróbuj przenieść rodzica ognia do jakiejś dalekiej pozycji, a następnie Destroy ogień po kilku sekundach za pomocą Debris:AddItem().To da istniejącym cząstkom czas na wygaszenie.
Obiekty ognia nie emitują światła na posiadać.Aby pomóc stworzyć spójne środowisko wokół płonącego obiektu, spróbuj dodać PointLight z pomarańczowym Color.Może to pomóc twojemu ogniowi wydawać się bardziej realistyczny.
Obiekt ognia składa się z dwóch emiterów.Oba są w różny sposób dotknięte przez ogień Size, Heat, Color i SecondaryColor.Cząsteczki emitowane z mniejszego, wtórnego emitera mają znacznie dłuższy czas trwania (i rosną dalej) niż te emitowane przez podstawowy emiter.Na wideo po prawej stronie możesz zobaczyć dwa emitery z odrębnymi kolorami.
W przeciwieństwie do rzeczywistych płomieni, obiekt Fire nie rozprzestrzenia się samodzielnie .Jeśli zauważysz to zachowanie w swojej gra, dzieje się tak z powodu Script.
Przykłady kodu
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
Podsumowanie
Właściwości
Określa kolor cząstek płomieni pierwotnych (zewnętrznych).
Określa, czy emituje się cząstki płomieniowe.
Określa prędkość, przy której emitowane są cząstki.
Określa kolor cząstek płomieni wtórnych (wewnętrznych).
Określa rozmiar cząstek płomieni.
Wartość pomiędzy 0-1, która kontroluje prędkość efektu cząstek.
Właściwości
Color
Właściwość Kolor określa kolor większych cząstek emitowanych przez obiekt Fire .Jest to zasadniczo kolor zewnętrznej części płomienia.
Ogólnie rzecz biorąc, chłodniejsze płomienie są na zewnątrz ognia.Dlatego ogień wygląda bardziej realistycznie, jeśli zewnętrzne części są czerwone lub pomarańczowo-żółte.Ogień, który jest jasny przez cały czas, nie wygląda bardzo realistycznie, więc unikaj ustawiania tej właściwości na żółty.Spróbuj dodać PointLight z PointLight.Color jako rodzeństwo do Fire.Zapewni to światło otoczeniu i sprawi, że poczuje się bardziej spójnie z cząstkami płomieni.
Przykłady kodu
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
Właściwość Włączone, podobnie jak ParticleEmitter.Enabled, określa, czy emituje się cząstki płomieniowe.Wszystkie już emitowane cząstki będą nadal renderować się, dopóki ich czas życia nie wygaśnie.Właściwość ta jest przydatna do utrzymywania gotowych efektów ognia, dopóki nie będą potrzebne później.Ponieważ cząstki płomieni są niszczone, gdy obiekt jest ustawiony na , właściwość ta jest przydatna w umożliwianiu istniejącym cząstkom możliwości wygaszenia przed całkowitym usunięciem obiektu Ogień.Zobacz funkcję poniżej.
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)
Przykłady kodu
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
Właściwość Ciepło określa, jak szybko cząstki są emitowane z obiektu Fire.Ograniczony jest do zakresu [-25, 25].Pozytywne wartości są w górnej (+Y) kierunku rodzica BasePart lub Attachment.Ma to również wpływ na ParticleEmitter.Acceleration wewnętrznych cząstek.Poniżej możesz zobaczyć efekty wyższej temperatury na prędkości/przyspieszeniu cząstek płomieni (lewe ma ciepło = 9, prawe ma ciepło = 18).
Przykłady kodu
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
Właściwość SecondaryColor określa kolor mniejszych cząstek emitowanych przez obiekt Fire .Jest to zasadniczo kolor wewnętrznej części płomienia.Poniżej możesz zobaczyć, że drugorzędny kolor płomienia jest ustawiony na biały, aby odróżnić się od większych, zewnętrznych cząstek, które mają ustawiony Fire.Color na niebieski.Należy zauważyć, że wewnętrzne cząstki używają ParticleEmitter.LightEmission 1, więc ciemniejsze kolory spowodują, że cząstki staną się przezroczyste (a zatem czarne przestaną renderować wewnętrzne cząstki w ogóle).
Przykłady kodu
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
Właściwość ta określa rozmiar cząstek płomieni.Musi znajdować się w przedziale od 2 do 30.W przeciwieństwie do ParticleEmitter.Size, rzeczywista wielkość płomieni nie będzie pasować 1:1 do równoważnej wielkości w szpilkach; jest nieco mniejsza.
Aby uczynić środowisko bardziej spójnym, spróbuj dodać PointLight jako rodzeństwo do obiektu Fire.Ustaw PointLight.Brightness i PointLight.Range proporcjonalnie do tej właściwości, aby większe płomienie produkowały więcej światła.
Przykłady kodu
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
Wartość pomiędzy 0-1 kontroluje prędkość efektu cząstek.Na 1 uruchamia się z normalną prędkością, na 0.5 uruchamia się z połową prędkości, a na 0 zamraża czas.