Smoke
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Asap adalah salah satu dari beberapa Kelasemisi partikel.Seperti pemancar partikel lain dari jenisnya, objek Asap memancarkan partikel saat diberi keturunan ke BasePart (seperti Part ) atau Attachment di dalam seperti BasePart .Dibandingkan dengan kelas ParticleEmitter , Asap kurang memiliki banyak properti kustomisasi berbeda dan metode khusus, seperti ParticleEmitter.Lifetime atau ParticleEmitter:Emit().Berguna untuk membuat efek khusus cepat dalam sekejap; untuk pekerjaan yang lebih terperinci, lebih baik menggunakan ParticleEmitter alih.
Ketika Smoke.Enabled dimatikan, partikel yang dipancarkan oleh objek ini akan terus ditampilkan sampai masa hidupnya berakhir.Ketika objek Asap Instance.Parent diatur ke nil (dan/atau Instance:Destroy() diedit), semua partikel akan langsung menghilang.Jika efek ini tidak diinginkan, coba sembunyikan objek orang tua di posisi jauh, lalu hapus Asap setelah beberapa detik menggunakan Debris untuk memberi kesempatan kepada partikel terakhir untuk kedaluwarsa.Objek ini tidak memiliki metode ParticleEmitter:Clear() , tetapi mungkin untuk mengatur Instance.Parent ke nil dan kembali ke objek yang sama persis untuk efek yang sama.
Partikel asap hanya dipancarkan dari pusat BasePart ke mana mereka berasal.Membesarkan objek Asap ke Attachment sebagai gantinya memungkinkan kustomisasi posisi awal partikel.
Contoh Kode
Contoh kode ini menambahkan objek Smoke ke setiap objek Fire di dalam Workspace. Ini dilakukan dengan menggunakan pencarian recursif.
local function recurseForFire(object)
-- Periksa apakah kami menemukan objek Api yang tidak memiliki Asap
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Buat efek asap untuk api ini
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Lanjutkan pencarian objek Api
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)
Rangkuman
Properti
Menentukan warna partikel asap.
Menentukan apakah partikel asap dipancarkan.
Menentukan bagaimana partikel asap yang tidak transpar terrender.
Menentukan kecepatan partikel asap.
Menentukan ukuran partikel asap baru yang dikeluarkan.
Nilai antara 0-1 yang mengontrol kecepatan efek partikel.
Properti
Color
Contoh Kode
local function recurseForFire(object)
-- Periksa apakah kami menemukan objek Api yang tidak memiliki Asap
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Buat efek asap untuk api ini
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Lanjutkan pencarian objek Api
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)
Enabled
Contoh Kode
local function recurseForFire(object)
-- Periksa apakah kami menemukan objek Api yang tidak memiliki Asap
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Buat efek asap untuk api ini
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Lanjutkan pencarian objek Api
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)
LocalTransparencyModifier
Opacity
Contoh Kode
local function recurseForFire(object)
-- Periksa apakah kami menemukan objek Api yang tidak memiliki Asap
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Buat efek asap untuk api ini
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Lanjutkan pencarian objek Api
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)
RiseVelocity
Contoh Kode
local function recurseForFire(object)
-- Periksa apakah kami menemukan objek Api yang tidak memiliki Asap
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Buat efek asap untuk api ini
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Lanjutkan pencarian objek Api
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)
Size
Contoh Kode
local function recurseForFire(object)
-- Periksa apakah kami menemukan objek Api yang tidak memiliki Asap
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Buat efek asap untuk api ini
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Lanjutkan pencarian objek Api
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)