學習
引擎類別
ParticleEmitter

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡


範例程式碼
從頭創建粒子發射器
local emitter = Instance.new("ParticleEmitter")
-- 粒子的數量 = 速率 * 生命週期
emitter.Rate = 5 -- 每秒的粒子數
emitter.Lifetime = NumberRange.new(1, 1) -- 粒子應該存活多長時間 (最小, 最大)
emitter.Enabled = true
-- 視覺屬性
emitter.Texture = "rbxassetid://1266170131" -- 一個透明的白色圓環圖像
-- 對於顏色,使用 ColorSequenceKeypoint 構建 ColorSequence
local colorKeypoints = {
-- API: ColorSequenceKeypoint.new(時間, 顏色)
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(時間, 大小, 包絡)
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 是我們在美國及其他國家地區的部分註冊與未註冊商標。