Fire

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Ateş birkaç önceden hazırlanmış parçacık yayıcı sınıftan biridir.Diğer parçacık yayan nesneler gibi, bir Ateş parçacıklar yayarken ebeveyn olur BasePart bir Attachment ve sırasında Enabled .Bu nesne, bir çırpıda hızlı bir görsel efekt oluşturmak için yararlıdır; daha ayrıntılı bir çalışma için bunun yerine bir ParticleEmitter kullanılması tercih edilir.

Ateş parçacıkları, ebeveyn oldukları BasePart noktanın merkezinden yayılır.Parçacıklar üstüne (+Y) yönünde yayılır; ancak, alt (-Y) yönünde yayılmak için negatif Fire.Heat kullanılabilir.Bir Ebeveyn olarak bir Attachment kullanmak, emisyon konumunu/yönünü değiştirerek değiştirmek yerine, Attachment.CFrame veya ilgili özellikleri değiştirerek değiştirilmesine izin verir.

When Enabled kapalı olduğunda, mevcut parçacıklar sona erene kadar renderlanmaya devam eder.Ancak, Ateşin Parent ı tüm mevcut parçacıklara nil ayarlanırsa, ParticleEmitter:Clear() davranışına benzer şekilde hemen tüm mevcut parçacıklar kaybolur.Aynı etkiyi elde etmek için Parent``nil ve aynı orijinal nesneye geri dönerek ayarlamak mümkündür.Aniden kaybolmak istemiyorsanız, Ateş'in ebeveynini biraz uzak bir konuma taşımayı deneyin, sonra Destroy birkaç saniye içinde Ateş'i Debris:AddItem() kullanarak.Bu, mevcut parçacıklara sona ermek için zaman verecektir.

Ateş nesneleri kendi sahip olışık yaymaz.Yanan bir nesne etrafında tutarlı bir çevre oluşturmaya yardımcı olmak için, bir turuncu PointLight ile bir eklemek deneyin Color .Bu, ateşinizin daha gerçekçi görünmesine yardımcı olabilir.

Ateş nesnesi iki yayımcıdan oluşur.Her ikisi de Ateşin Size , Heat , Color ve SecondaryColor tarafından çeşitli şekillerde etkilenir.Daha küçük, ikincil yayıcıdan parçacıklar çıkar, birincil yayıcı tarafından yayılanlardan önemli ölçüde daha uzun ömür süresine sahiptir (ve daha da yükseğe çıkar).Sağdaki videoda, farklı renklerle iki yayıncıyı görebilirsiniz.

Gerçek alevlerden farklı olarak, Ateş nesnesi kendi başına yayılmaz .Bu davranışı oyununuzda fark ederseniz, bunun nedeni bir Script .

Kod Örnekleri

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

Özet

Özellikler

  • Paralel oku

    Birincil (dış) alev parçacıklarının rengini belirler.

  • Paralel oku

    Alev parçacıklarının yayılıp yayılmadığını belirler.

  • Çoğaltılmamış
    Paralel oku

    Parçacıkların yayıldığı hızı belirler.

  • Gizli
    Çoğaltılmamış
    Paralel oku
  • İkincil (iç) alev parçacıklarının rengini belirler.

  • Çoğaltılmamış
    Paralel oku

    Alev parçacıklarının boyutunu belirler.

  • Paralel oku

    Parçacık etkisinin hızını kontrol eden 0-1 arasındaki değer.

Özellikler

Color

Paralel oku

Renk özelliği, bir Fire nesnesi tarafından yayılan daha büyük parçacıkların rengini belirler.Esas olarak, alevin dış kısmının rengidir.

genelolarak, soğutucu alevler bir yangının dışındadır.Bu nedenle, dış kısımlar kırmızı veya turuncu-sarıysa, ateş daha gerçekçi görünür.Bütünüyle parlak bir ateş çok gerçekçi görünmüyor, bu nedenle bu özelliği sarıya ayarlamaktan kaçının.Deneyin bir kardeş olarak PointLight ile PointLight.Color 'e bir Fire eklemek.Bu, çevreleyen çevreye ışık sağlayacak ve alev parçacıklarıyla daha kaynaşık hissettirecektir.

Kod Örnekleri

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

Paralel oku

Etkin özellik, çok benzer şekilde ParticleEmitter.Enabled , alev parçacıklarının yayılıp yayılmadığını belirler.Zaten yayılan herhangi bir parçacık, ömürleri sona erene kadar renderlanmaya devam edecektir.Bu özellik, daha sonra gerekli olana kadar önceden yapılmış ateş efektlerini korumak için yararlıdır.Alev parçacıkları, nesnenin ayarlandığında yok edildiğinden, bu özellik mevcut parçacıklara Ateş nesnesini tümüyle yok etmeden önce sona ermek için fırsat verirken yararlıdır.Aşağıdaki işlevi görün.


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)

Kod Örnekleri

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

Çoğaltılmamış
Paralel oku

Isı özelliği, parçacıkların Fire nesnesinden ne kadar hızlı yayıldığını belirler.[[-25, 25]] aralığına sınırlıdır.Olumlu değerler ebeveynin üst (+Y) yönündedir BasePart veya Attachment .Ayrıca iç parçacıkların ParticleEmitter.Acceleration kısmını da etkiler.Aşağıda, daha yüksek ısının alev parçacıklarının hızı/hızlandırması üzerindeki etkilerini görebilirsiniz (左 has Sıcaklık = 9, sağ has Sıcaklık = 18).

Kod Örnekleri

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

Gizli
Çoğaltılmamış
Paralel oku

SecondaryColor

Paralel oku

İkincil Renk özelliği, Fire nesnesi tarafından yayılan daha küçük parçacıkların rengini belirler.Esas olarak, alevin iç kısmının rengidir.Aşağıda, alevin ikincil renginin beyaz olarak ayarlandığını ve böylece daha büyük, dış parçacıklarla ayırt edildiğini görebilirsiniz, ki bunların her birinde Fire.Color mavi olarak ayarlanmıştır.İç parçacıkların 1'in bir ParticleEmitter.LightEmission kullandığına dikkat edilmelidir, bu nedenle daha karanlık renkler parçacıkların şeffaf görünmesine neden olacaktır (ve bu nedenle iç parçacıkların tümüyle kara olması durdurulacaktır).

Kod Örnekleri

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

Çoğaltılmamış
Paralel oku

Bu özellik, alev parçacıklarının boyutunu belirler.2 ile 30 arasında olmalıdır.ParticleEmitter.Size 'ye göre, alevlerin gerçek boyutu çivilerdeki eşdeğer boyutla 1:1 eşleşmeyecek; biraz daha küçük.

Çevrenizi daha kaynaştırıcı hale getirmek için, PointLight nesneye bir kardeş olarak bir Fire ekleyin.Daha büyük alevler daha fazla ışık üretmesi için bu özellikle orantılı PointLight.Brightness ve PointLight.Range oranında ayarlayın.

Kod Örnekleri

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

Paralel oku

0-1 arasındaki bir değer parçacık etkisinin hızını kontrol eder.1'de normal hızda çalışır, 0.5'te yarı hızda çalışır ve 0'da zaman donar.

Yöntemler

Etkinlikler