Fire

Tampilkan yang Tidak Digunakan Lagi

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Api adalah salah satu dari beberapa Kelasemisi partikel yang sudah jadi.Seperti objek emisi partikel lainnya, Api memancarkan partikel saat diberi kepada BasePart an Attachment dan saat Enabled .Objek ini berguna untuk membuat efek visual cepat dalam sekejap; untuk pekerjaan yang lebih terperinci, lebih baik menggunakan ParticleEmitter sebagai gantinya.

Partikel api dipancarkan dari pusat BasePart ke mana mereka berasal.Partikel dikeluarkan ke arah atas (+Y); namun, negatif Fire.Heat dapat digunakan untuk dikeluarkan ke arah bawah (-Y).Menggunakan Attachment sebagai Orangtua alih-alih memungkinkan posisi/arah emisi diubah dengan mengubah Attachment.CFrame atau properti terkait.

Ketika Enabled dimatikan, partikel yang ada terus ditampilkan sampai mereka kedaluwarsa.Namun, jika Api Parent diatur ke nil semua partikel yang ada segera menghilang, mirip dengan perilaku ParticleEmitter:Clear() .Dimungkinkan untuk mengatur Parent ke nil dan kembali ke objek asli yang tepat untuk mencapai efek yang sama.Jika penghilangan langsung tidak diinginkan, coba pindahkan orangtua Api ke posisi yang jauh, lalu Destroy Api setelah beberapa detik menggunakan Debris:AddItem().Ini akan memberi waktu partikel yang ada untuk kedaluwarsa.

Objek api tidak memancarkan cahaya memiliki.Untuk membantu menciptakan lingkungan yang kohesif di sekitar objek yang terbakar, coba tambahkan PointLight dengan oranye Color.Ini dapat membantu api Anda tampak lebih realistis.

Objek api terdiri dari dua pemancar.Keduanya dipengaruhi dengan berbagai cara oleh Api Size , Heat , Color dan SecondaryColor .Partikel yang dipancarkan dari emitor sekunder yang lebih kecil memiliki masa hidup yang lebih lama (dan naik lebih jauh) daripada yang dipancarkan oleh emitor utama.Dalam video di sebelah kanan, Anda dapat melihat dua emitor dengan warna yang berbeda.

Tidak seperti api nyata, objek Api tidak menyebar sendiri .Jika Anda melihat perilaku ini di game Anda, itu terjadi karena ada Script .

Contoh Kode

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

Rangkuman

Properti

Properti

Color

Baca Paralel

Properti Warna menentukan warna partikel yang lebih besar dipancarkan oleh objek Fire .Ini pada dasarnya adalah warna bagian luar api.

Secara umum, api yang lebih dingin berada di luar api.Oleh karena itu, api terlihat lebih realistis jika bagian luar adalah merah atau oranye-kuning.Api yang terang sepanjang waktu tidak terlihat sangat realistis, jadi hindari menetapkan properti ini ke kuning.Coba tambahkan PointLight dengan PointLight.Color sebagai saudara untuk Fire .Ini akan memberikan cahaya ke lingkungan sekitar dan membuatnya terasa lebih kohesif dengan partikel api.

Contoh Kode

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

Baca Paralel

Properti Aktif, seperti ParticleEmitter.Enabled, menentukan apakah partikel api dilepaskan.Setiap partikel yang sudah dipancarkan akan terus menyajikan sampai masa hidupnya berakhir.Properti ini berguna untuk menjaga efek api pra-dibuat sampai dibutuhkan nanti.Karena partikel api hancur ketika objek diatur ke , properti ini berguna dalam memungkinkan partikel yang ada kesempatan untuk kedaluwarsa sebelum menghapus objek Api sama sekali.Lihat fungsi di bawah ini.


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)

Contoh Kode

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

Tidak Direplikasi
Baca Paralel

Properti Panas menentukan seberapa cepat partikel dilepaskan dari objek Fire.Ini terbatas pada rentang [-25, 25].Nilai positif ada di arah atas (+Y) dari orang tua BasePart atau Attachment .Ini juga mempengaruhi ParticleEmitter.Acceleration dari partikel internal.Di bawah ini, Anda dapat melihat efek suhu lebih tinggi pada kecepatan/akselerasi partikel api (kiri memiliki Panas = 9, kanan memiliki Panas = 18).

Contoh Kode

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

Tersembunyi
Tidak Direplikasi
Baca Paralel

SecondaryColor

Baca Paralel

Properti Warna Sekunder menentukan warna partikel yang lebih kecil dipancarkan oleh objek Fire .Ini pada dasarnya adalah warna bagian dalam api.Di bawah ini, Anda dapat melihat Warna Sekunder dari api diatur ke putih untuk membedakan dengan partikel luar yang lebih besar yang memiliki Fire.Color diatur ke biru.Harus dicatat bahwa partikel internal menggunakan ParticleEmitter.LightEmission 1, jadi warna gelap akan sebaliknya menyebabkan partikel muncul transparan (dan karena itu hitam akan berhenti menyajikan partikel internal sama sekali).

Contoh Kode

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

Tidak Direplikasi
Baca Paralel

Properti ini menentukan ukuran partikel api.Ini harus berada dalam kisaran 2 hingga 30.Tidak seperti ParticleEmitter.Size , ukuran nyata api tidak akan cocok dengan ukuran setara dalam stud; itu agak lebih kecil.

Untuk membuat lingkungan Anda lebih kohesif, coba tambahkan PointLight sebagai saudara dari objek Fire.Tetapkan PointLight.Brightness dan PointLight.Range proporsional terhadap properti ini sehingga api yang lebih besar menghasilkan lebih banyak cahaya.

Contoh Kode

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

Baca Paralel

Nilai antara 0-1 lebih dari mengontrol kecepatan efek partikel.Pada 1 berjalan dengan kecepatan normal, pada 0.5 berjalan setengah kecepatan, dan pada 0 membekukan waktu.

Metode

Acara