เรียนรู้
Engine Class
ParticleEmitter

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่


ตัวอย่างโค้ด
การสร้างพาร์ติเคิลอีมิตเตอร์จากศูนย์
local emitter = Instance.new("ParticleEmitter")
-- จำนวนพาร์ติเคิล = อัตรา * ช่วงชีวิต
emitter.Rate = 5 -- พาร์ติเคิลต่อวินาที
emitter.Lifetime = NumberRange.new(1, 1) -- ระยะเวลาที่พาร์ติเคิลควรมีชีวิตอยู่ (น้อย, มาก)
emitter.Enabled = true
-- คุณสมบัติทางภาพ
emitter.Texture = "rbxassetid://1266170131" -- รูปภาพโปร่งใสของวงแหวนสีขาว
-- สำหรับสี สร้าง ColorSequence โดยใช้ ColorSequenceKeypoint
local colorKeypoints = {
-- API: ColorSequenceKeypoint.new(time, color)
ColorSequenceKeypoint.new(0, Color3.new(1, 1, 1)), -- ที่ t=0, สีขาว
ColorSequenceKeypoint.new(0.5, Color3.new(1, 0.5, 0)), -- ที่ t=.5, สีส้ม
ColorSequenceKeypoint.new(1, Color3.new(1, 0, 0)), -- ที่ t=1, สีแดง
}
emitter.Color = ColorSequence.new(colorKeypoints)
local numberKeypoints = {
-- API: NumberSequenceKeypoint.new(time, size, envelop)
NumberSequenceKeypoint.new(0, 1), -- ที่ t=0, โปร่งใสเต็มที่
NumberSequenceKeypoint.new(0.1, 0), -- ที่ t=.1, มองเห็นเต็มที่
NumberSequenceKeypoint.new(0.5, 0.25), -- ที่ t=.5, มองเห็นเกือบเต็มที่
NumberSequenceKeypoint.new(1, 1), -- ที่ t=1, โปร่งใสเต็มที่
}
emitter.Transparency = NumberSequence.new(numberKeypoints)
emitter.LightEmission = 1 -- เมื่อพาร์ติเคิลทับซ้อนกันให้คูณสีให้สว่างขึ้น
emitter.LightInfluence = 0 -- ไม่ให้ถูกแสงจากโลกกระทบ
-- คุณสมบัติความเร็ว
emitter.EmissionDirection = Enum.NormalId.Front -- ปล่อยไปข้างหน้า
emitter.Speed = NumberRange.new(0, 0) -- ความเร็วเป็นศูนย์
emitter.Drag = 0 -- ไม่ใช้แรงต้านต่อการเคลื่อนที่ของพาร์ติเคิล
emitter.VelocitySpread = NumberRange.new(0, 0)
emitter.VelocityInheritance = 0 -- ไม่สืบทอดความเร็วของผู้ปกครอง
emitter.Acceleration = Vector3.new(0, 0, 0)
emitter.LockedToPart = false -- ไม่ล็อกพาร์ติเคิลไว้กับผู้ปกครอง
emitter.SpreadAngle = Vector2.new(0, 0) -- ไม่มีมุมกระจายบนทั้งสองแกน
-- คุณสมบัติการจำลอง
local numberKeypoints2 = {
NumberSequenceKeypoint.new(0, 0), -- ที่ t=0, ขนาดเป็น 0
NumberSequenceKeypoint.new(1, 10), -- ที่ t=1, ขนาดเป็น 10
}
emitter.Size = NumberSequence.new(numberKeypoints2)
emitter.ZOffset = -1 -- แสดงผลด้านหลังตำแหน่งจริงเล็กน้อย
emitter.Rotation = NumberRange.new(0, 360) -- เริ่มจากการหมุนแบบสุ่ม
emitter.RotSpeed = NumberRange.new(0) -- ไม่ให้หมุนในระหว่างการจำลอง
-- สร้างการแนบเพื่อตั้งให้พาร์ติเคิลออกจากจุดเดียวกัน (วงแหวนซ้อนกัน)
local attachment = Instance.new("Attachment")
attachment.Position = Vector3.new(0, 5, 0) -- ย้ายการแนบขึ้นเล็กน้อย
attachment.Parent = script.Parent
emitter.Parent = attachment

เอกสารอ้างอิงเกี่ยวกับ API
คุณสมบัติ
Acceleration
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.Acceleration:Vector3

Brightness
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.Brightness:number

Color
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.Color:ColorSequence

Drag
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.Drag:number

EmissionDirection
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.EmissionDirection:Enum.NormalId

Enabled
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.Enabled:boolean

FlipbookBlendFrames
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.FlipbookBlendFrames:boolean

FlipbookFramerate
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.FlipbookFramerate:NumberRange

FlipbookIncompatible
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.FlipbookIncompatible:string

FlipbookLayout
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.FlipbookLayout:Enum.ParticleFlipbookLayout

FlipbookMode
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.FlipbookMode:Enum.ParticleFlipbookMode

FlipbookSizeX
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.FlipbookSizeX:number

FlipbookSizeY
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.FlipbookSizeY:number

FlipbookStartRandom
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.FlipbookStartRandom:boolean

Lifetime
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.Lifetime:NumberRange

LightEmission
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.LightEmission:number

LightInfluence
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.LightInfluence:number

LocalTransparencyModifier
ซ่อนอยู่
ไม่ซ้ำ
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.LocalTransparencyModifier:number

LockedToPart
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.LockedToPart:boolean

Orientation
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.Orientation:Enum.ParticleOrientation

Rate
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.Rate:number

Rotation
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.Rotation:NumberRange

RotSpeed
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.RotSpeed:NumberRange

Shape
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.Shape:Enum.ParticleEmitterShape

ShapeInOut
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.ShapeInOut:Enum.ParticleEmitterShapeInOut

ShapePartial
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.ShapePartial:number

ShapeStyle
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.ShapeStyle:Enum.ParticleEmitterShapeStyle

Size
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.Size:NumberSequence

Speed
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.Speed:NumberRange

SpreadAngle
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.SpreadAngle:Vector2

Squash
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.Squash:NumberSequence

Texture
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.Texture:ContentId

TimeScale
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.TimeScale:number

Transparency
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.Transparency:NumberSequence

VelocityInheritance
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.VelocityInheritance:number

VelocitySpread
เลิกใช้แล้ว

WindAffectsDrag
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.WindAffectsDrag:boolean

ZOffset
อ่านพร้อมๆ กัน
ความสามารถ: Basic
ParticleEmitter.ZOffset:number

วิธีการ
Clear
ความสามารถ: Basic
ParticleEmitter:Clear():()
ส่งค่ากลับ
()
ตัวอย่างโค้ด
การเป่าอนุภาค
local emitter = script.Parent
while true do
emitter:Clear()
emitter:Emit(10)
task.wait(2)
end

Emit
ความสามารถ: Basic
ParticleEmitter:Emit(particleCount:number):()
พารามิเตอร์
particleCount:number
ค่าเริ่มต้น: 16
ส่งค่ากลับ
()
ตัวอย่างโค้ด
ปล่อยอนุภาคตามระยะทาง
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
การเป่าอนุภาค
local emitter = script.Parent
while true do
emitter:Clear()
emitter:Emit(10)
task.wait(2)
end

©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ