Pelajari
Kelas Engine
ParticleEmitter

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


Contoh Kode
Membuat Particle Emitter dari Awal
local emitter = Instance.new("ParticleEmitter")
-- Jumlah partikel = Laju * Rentang Hidup
emitter.Rate = 5 -- Partikel per detik
emitter.Lifetime = NumberRange.new(1, 1) -- Berapa lama partikel seharusnya hidup (min, max)
emitter.Enabled = true
-- Properti visual
emitter.Texture = "rbxassetid://1266170131" -- Gambar transparan dari cincin putih
-- Untuk Warna, buatlah ColorSequence menggunakan ColorSequenceKeypoint
local colorKeypoints = {
-- API: ColorSequenceKeypoint.new(time, color)
ColorSequenceKeypoint.new(0, Color3.new(1, 1, 1)), -- Pada t=0, Putih
ColorSequenceKeypoint.new(0.5, Color3.new(1, 0.5, 0)), -- Pada t=.5, Oranye
ColorSequenceKeypoint.new(1, Color3.new(1, 0, 0)), -- Pada t=1, Merah
}
emitter.Color = ColorSequence.new(colorKeypoints)
local numberKeypoints = {
-- API: NumberSequenceKeypoint.new(time, size, envelop)
NumberSequenceKeypoint.new(0, 1), -- Pada t=0, sepenuhnya transparan
NumberSequenceKeypoint.new(0.1, 0), -- Pada t=.1, sepenuhnya buram
NumberSequenceKeypoint.new(0.5, 0.25), -- Pada t=.5, sebagian besar buram
NumberSequenceKeypoint.new(1, 1), -- Pada t=1, sepenuhnya transparan
}
emitter.Transparency = NumberSequence.new(numberKeypoints)
emitter.LightEmission = 1 -- Ketika partikel tumpang tindih, kalikan warna mereka agar lebih terang
emitter.LightInfluence = 0 -- Tidak terpengaruh oleh pencahayaan dunia
-- Properti kecepatan
emitter.EmissionDirection = Enum.NormalId.Front -- Emit maju
emitter.Speed = NumberRange.new(0, 0) -- Kecepatan nol
emitter.Drag = 0 -- Tidak menerapkan gaya drag pada gerakan partikel
emitter.VelocitySpread = NumberRange.new(0, 0)
emitter.VelocityInheritance = 0 -- Tidak mewarisi kecepatan induk
emitter.Acceleration = Vector3.new(0, 0, 0)
emitter.LockedToPart = false -- Tidak mengunci partikel ke induk
emitter.SpreadAngle = Vector2.new(0, 0) -- Tidak ada sudut penyebaran pada kedua sumbu
-- Properti simulasi
local numberKeypoints2 = {
NumberSequenceKeypoint.new(0, 0), -- Pada t=0, ukuran 0
NumberSequenceKeypoint.new(1, 10), -- Pada t=1, ukuran 10
}
emitter.Size = NumberSequence.new(numberKeypoints2)
emitter.ZOffset = -1 -- Render sedikit di belakang posisi sebenarnya
emitter.Rotation = NumberRange.new(0, 360) -- Mulai dengan rotasi acak
emitter.RotSpeed = NumberRange.new(0) -- Tidak berputar selama simulasi
-- Buat lampiran sehingga partikel memancarkan dari titik yang sama persis (cincin konsentris)
local attachment = Instance.new("Attachment")
attachment.Position = Vector3.new(0, 5, 0) -- Pindahkan lampiran sedikit ke atas
attachment.Parent = script.Parent
emitter.Parent = attachment

Referensi API
Properti
Acceleration
Baca Paralel
Kemampuan: Basic
ParticleEmitter.Acceleration:Vector3

Brightness
Baca Paralel
Kemampuan: Basic
ParticleEmitter.Brightness:number

Color
Baca Paralel
Kemampuan: Basic
ParticleEmitter.Color:ColorSequence

Drag
Baca Paralel
Kemampuan: Basic
ParticleEmitter.Drag:number

EmissionDirection
Baca Paralel
Kemampuan: Basic
ParticleEmitter.EmissionDirection:Enum.NormalId

Enabled
Baca Paralel
Kemampuan: Basic
ParticleEmitter.Enabled:boolean

FlipbookBlendFrames
Baca Paralel
Kemampuan: Basic
ParticleEmitter.FlipbookBlendFrames:boolean

FlipbookFramerate
Baca Paralel
Kemampuan: Basic
ParticleEmitter.FlipbookFramerate:NumberRange

FlipbookIncompatible
Baca Paralel
Kemampuan: Basic
ParticleEmitter.FlipbookIncompatible:string

FlipbookLayout
Baca Paralel
Kemampuan: Basic
ParticleEmitter.FlipbookLayout:Enum.ParticleFlipbookLayout

FlipbookMode
Baca Paralel
Kemampuan: Basic
ParticleEmitter.FlipbookMode:Enum.ParticleFlipbookMode

FlipbookSizeX
Baca Paralel
Kemampuan: Basic
ParticleEmitter.FlipbookSizeX:number

FlipbookSizeY
Baca Paralel
Kemampuan: Basic
ParticleEmitter.FlipbookSizeY:number

FlipbookStartRandom
Baca Paralel
Kemampuan: Basic
ParticleEmitter.FlipbookStartRandom:boolean

Lifetime
Baca Paralel
Kemampuan: Basic
ParticleEmitter.Lifetime:NumberRange

LightEmission
Baca Paralel
Kemampuan: Basic
ParticleEmitter.LightEmission:number

LightInfluence
Baca Paralel
Kemampuan: Basic
ParticleEmitter.LightInfluence:number

LocalTransparencyModifier
Tersembunyi
Tidak Direplikasi
Baca Paralel
Kemampuan: Basic
ParticleEmitter.LocalTransparencyModifier:number

LockedToPart
Baca Paralel
Kemampuan: Basic
ParticleEmitter.LockedToPart:boolean

Orientation
Baca Paralel
Kemampuan: Basic
ParticleEmitter.Orientation:Enum.ParticleOrientation

Rate
Baca Paralel
Kemampuan: Basic
ParticleEmitter.Rate:number

Rotation
Baca Paralel
Kemampuan: Basic
ParticleEmitter.Rotation:NumberRange

RotSpeed
Baca Paralel
Kemampuan: Basic
ParticleEmitter.RotSpeed:NumberRange

Shape
Baca Paralel
Kemampuan: Basic
ParticleEmitter.Shape:Enum.ParticleEmitterShape

ShapeInOut
Baca Paralel
Kemampuan: Basic
ParticleEmitter.ShapeInOut:Enum.ParticleEmitterShapeInOut

ShapePartial
Baca Paralel
Kemampuan: Basic
ParticleEmitter.ShapePartial:number

ShapeStyle
Baca Paralel
Kemampuan: Basic
ParticleEmitter.ShapeStyle:Enum.ParticleEmitterShapeStyle

Size
Baca Paralel
Kemampuan: Basic
ParticleEmitter.Size:NumberSequence

Speed
Baca Paralel
Kemampuan: Basic
ParticleEmitter.Speed:NumberRange

SpreadAngle
Baca Paralel
Kemampuan: Basic
ParticleEmitter.SpreadAngle:Vector2

Squash
Baca Paralel
Kemampuan: Basic
ParticleEmitter.Squash:NumberSequence

Texture
Baca Paralel
Kemampuan: Basic
ParticleEmitter.Texture:ContentId

TimeScale
Baca Paralel
Kemampuan: Basic
ParticleEmitter.TimeScale:number

Transparency
Baca Paralel
Kemampuan: Basic
ParticleEmitter.Transparency:NumberSequence

VelocityInheritance
Baca Paralel
Kemampuan: Basic
ParticleEmitter.VelocityInheritance:number

VelocitySpread
Tidak digunakan lagi

WindAffectsDrag
Baca Paralel
Kemampuan: Basic
ParticleEmitter.WindAffectsDrag:boolean

ZOffset
Baca Paralel
Kemampuan: Basic
ParticleEmitter.ZOffset:number

Metode
Clear
Kemampuan: Basic
ParticleEmitter:Clear():()
Memberikan nilai
()
Contoh Kode
Ledakan Pembuang Partikel
local emitter = script.Parent
while true do
emitter:Clear()
emitter:Emit(10)
task.wait(2)
end

Emit
Kemampuan: Basic
ParticleEmitter:Emit(particleCount:number):()
Parameter
particleCount:number
Nilai Default: 16
Memberikan nilai
()
Contoh Kode
Mengeluarkan Partikel Selama Jarak
local RunService = game:GetService("RunService")
local emitter = script.Parent
local part = emitter.Parent
local PARTICLES_PER_STUD = 3
local lastPosition = part.Position
local distance = 0
local function onStep()
local displacement = part.Position - lastPosition
distance = distance + displacement.magnitude
local n = math.floor(distance * PARTICLES_PER_STUD)
emitter:Emit(n)
distance = distance - n / PARTICLES_PER_STUD
lastPosition = part.Position
end
RunService.Stepped:Connect(onStep)
emitter.Enabled = false
Ledakan Pembuang Partikel
local emitter = script.Parent
while true do
emitter:Clear()
emitter:Emit(10)
task.wait(2)
end

©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.