배우기
엔진 클래스
ParticleEmitter

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.


코드 샘플
파티클 방출기를 처음부터 만들기
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(time, color)
ColorSequenceKeypoint.new(0, Color3.new(1, 1, 1)), -- t=0에서 흰색
ColorSequenceKeypoint.new(0.5, Color3.new(1, 0.5, 0)), -- t=0.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=0.1에서 완전히 불투명
NumberSequenceKeypoint.new(0.5, 0.25), -- t=0.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) -- 속도는 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'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.