ParticleEmitter

ParticleEmitter : Instance

Overview

๋‹ค์–‘ํ•œ ์†์„ฑ์„ ํ™œ์šฉํ•ด ์ž…์ž ํšจ๊ณผ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” 2D ํŒŒํ‹ฐํด ์ƒ์„ฑ ์ธ์Šคํ„ด์Šค์ž…๋‹ˆ๋‹ค.

์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋ ค๋ฉด BasePart ๋˜๋Š” Attachment์˜ ์ž์‹์œผ๋กœ ์„ค์ •๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์„ค์ •๋œ Rate ๊ฐ’์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ์ž…์ž๊ฐ€ ๋ฐฉ์ถœ๋˜๋ฉฐ, Emit() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜๋™์œผ๋กœ ๋ฐฉ์ถœํ•˜๊ฑฐ๋‚˜, Clear() ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ํ˜„์žฌ ๋ฐฉ์ถœ๋œ ์ž…์ž๋“ค์„ ์ดˆ๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Properties

Acceleration

Vector3

ํŒŒํ‹ฐํด์ด ์–ผ๋งˆ๋‚˜ ๋น ๋ฅด๊ฒŒ ๊ฐ€์†ํ•˜๊ฑฐ๋‚˜ ๊ฐ์†ํ• ์ง€๋ฅผ Vector3 ๊ฐ’์œผ๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

X, Y, Z ์ถ• ๊ฐ๊ฐ์— ๋Œ€ํ•ด ๊ฐ€์†๋„์˜ ๋ฐฉํ–ฅ๊ณผ ํฌ๊ธฐ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ธฐ์กด์— ์ƒ์„ฑ๋œ ํŒŒํ‹ฐํด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ดํ›„ ์ƒ์„ฑ๋˜๋Š” ํŒŒํ‹ฐํด์˜ ์›€์ง์ž„์—๋„ ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค.

Code Samples

local ParticleEmitter = script.Parent

ParticleEmitter.Acceleration = Vector3.new(0, 500, 0)

Brightness

number

ํŒŒํ‹ฐํด์—์„œ ๋ฐฉ์ถœ๋œ ๊ด‘์›์˜ ๋ฐ๊ธฐ๋ฅผ ์ง€์ •ํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค.

Code Samples

Color

ColorSequence

ํŒŒํ‹ฐํด์ด ์‚ด์•„ ์žˆ๋Š” ๋™์•ˆ ์–ด๋–ค ์ƒ‰์ƒ์œผ๋กœ ์ ์ง„์ ์œผ๋กœ ํ‘œ์‹œ๋ ์ง€ ColorSequence๋ฅผ ์ด์šฉํ•˜์—ฌ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Code Samples

local ParticleEmitter = script.Parent

ParticleEmitter.Color = ColorSequence.new(Color3.fromRGB(255, 0, 0))

Drag

number

ํŒŒํ‹ฐํด์ด ์ด๋™ํ•˜๋Š” ๋™์•ˆ ์–ผ๋งˆ๋‚˜ ๋น ๋ฅด๊ฒŒ ์†๋„๊ฐ€ ์ค„์–ด๋“ค์ง€๋ฅผ ์ œ์–ดํ•˜๋Š” ์†์„ฑ์œผ๋กœ, ์ง€์ˆ˜ ๊ฐ์‡  ๋ฐฉ์‹์œผ๋กœ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

์Œ์ˆ˜ ๊ฐ’์€ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Code Samples

local ParticleEmitter = script.Parent

ParticleEmitter.Drag = 0.5

Enabled

bool

ํŒŒํ‹ฐํด์˜ ํ‘œ์‹œ ์—ฌ๋ถ€๋ฅผ ์ง€์ •ํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค.

๋ฐฉ์ถœ๋œ ์ž…์ž๊ฐ€ ๋‚จ์•„์žˆ๋Š” ์ƒํƒœ์—์„œ Enabled๋ฅผ false๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด ์ฆ‰์‹œ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

Code Samples

local ParticleEmitter = script.Parent

ParticleEmitter.Enabled = false

EmissionDirection

Enum.NormalId

๋ถ€๋ชจ ํŒŒํŠธ์˜ ์–ด๋–ค ๋ฉด์„ ๊ธฐ์ค€์œผ๋กœ ๋ฐฉ์ถœ๋ ์ง€๋ฅผ ์ง€์ •ํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค.

๋งŒ์•ฝ Speed๊ฐ€ ์Œ์ˆ˜๋กœ ์„ค์ •๋˜์–ด ์žˆ๋‹ค๋ฉด ํŒŒํ‹ฐํด์€ ํ•ด๋‹น ๋ฉด์˜ ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐฉ์ถœ๋ฉ๋‹ˆ๋‹ค.

Code Samples

local ParticleEmitter = script.Parent

ParticleEmitter.EmissionDirection = Enum.NormalId.Right

FlipbookFramerate

NumberRange

ํŒŒํ‹ฐํด์— ์ ์šฉ๋œ ํ”Œ๋ฆฝ๋ถ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์–ผ๋งˆ๋‚˜ ๋น ๋ฅด๊ฒŒ ์žฌ์ƒ๋ ์ง€๋ฅผ ์ง€์ •ํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค.

์ดˆ๋‹น ํ”„๋ ˆ์ž„ ๋‹จ์œ„๋กœ ์„ค์ •๋˜๋ฉฐ, ์ตœ์†Œ ๋ฐ ์ตœ๋Œ€ ๊ฐ’์„ ๊ฐ๊ฐ ์ง€์ •ํ•˜๋ฉด ๊ฐ ํŒŒํ‹ฐํด๋งˆ๋‹ค ์žฌ์ƒ ์†๋„๋ฅผ ๋žœ๋คํ•˜๊ฒŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Code Samples

FlipbookLayout

Enum.ParticleFlipbookLayout

ํŒŒํ‹ฐํด์— ์ ์šฉ๋œ ํ…์Šค์ฒ˜๊ฐ€ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ํ”„๋ ˆ์ž„์— ๋ฐฐ์น˜๋˜์–ด ์žˆ๋Š”์ง€๋ฅผ ์ •์˜ํ•˜๋Š” ์†์„ฑ์œผ๋กœ, ํ…์Šค์ฒ˜๋ฅผ ๊ฒฉ์ž ํ˜•ํƒœ๋กœ ๋‚˜๋ˆ„์–ด ์ˆœ์ฐจ์ ์œผ๋กœ ์žฌ์ƒํ•˜๋Š” ํ”Œ๋ฆฝ๋ถ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • None: ํ…์Šค์ฒ˜๋Š” ๋‹จ์ผ ์ด๋ฏธ์ง€๋กœ ์œ ์ง€๋˜๋ฉฐ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์—†์ด ๊ณ ์ •๋œ ๋ชจ์Šต์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

  • Grid2x2: ํ…์Šค์ฒ˜๋ฅผ 2x2 ๊ตฌ์กฐ๋กœ, ์ด 4ํ”„๋ ˆ์ž„์œผ๋กœ ๋‚˜๋ˆ„์–ด ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • Grid4x4: ํ…์Šค์ฒ˜๋ฅผ 4x4 ๊ตฌ์กฐ๋กœ, ์ด 16ํ”„๋ ˆ์ž„์œผ๋กœ ๋‚˜๋ˆ„์–ด ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • Grid8x8: ํ…์Šค์ฒ˜๋ฅผ 8x8๊ตฌ์กฐ๋กœ, ์ด 64ํ”„๋ ˆ์ž„์œผ๋กœ ๋‚˜๋ˆ„์–ด ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

Code Samples

local ParticleEmitter = script.Parent

print(ParticleEmitter.FlipbookLayout)

FlipbookMode

Enum.ParticleFlipbookMode

ํ”Œ๋ฆฝ๋ถ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์žฌ์ƒ๋ ์ง€๋ฅผ ์ •์˜ํ•˜๋Š” ์†์„ฑ์œผ๋กœ, ๊ฐ ๋ชจ๋“œ๋Š” ํŒŒํ‹ฐํด์˜ ์—ฐ์ถœ ๋ชฉ์ ์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•˜๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Loop: ๊ธฐ๋ณธ์ ์ธ ์ˆœํ™˜ ์• ๋‹ˆ๋ฉ”์ด์…˜์œผ๋กœ, ํŒŒํ‹ฐํด์ด ์‚ด์•„ ์žˆ๋Š” ๋™์•ˆ ๊ณ„์†ํ•ด์„œ ํ”„๋ ˆ์ž„์„ ์ˆœ์ฐจ ์žฌ์ƒํ•ฉ๋‹ˆ๋‹ค.

  • OneShot: ํ•œ ๋ฒˆ๋งŒ ์žฌ์ƒ๋˜๋ฉฐ ๋ฐ˜๋ณต๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, ํญ๋ฐœ์ด๋‚˜ ๋ฒˆ์ฉ์ด๋Š” ํšจ๊ณผ์ฒ˜๋Ÿผ ๋‹จ๋ฐœ์„ฑ ํšจ๊ณผ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ชจ๋“œ์—์„œ๋Š” ํ”„๋ ˆ์ž„ ์†๋„๋ฅผ ๋ณ„๋„๋กœ ์„ค์ •ํ•˜์ง€ ์•Š์•„๋„ ์ž๋™์œผ๋กœ ํŒŒํ‹ฐํด ์ˆ˜๋ช…์— ๋งž๊ฒŒ ์žฌ์ƒ๋ฉ๋‹ˆ๋‹ค.

  • PingPong: ํ”„๋ ˆ์ž„์ด ์•ž๋’ค๋กœ ์™•๋ณตํ•˜๋ฉฐ ์žฌ์ƒ๋˜์–ด ์ž์—ฐ์Šค๋Ÿฝ๊ณ  ๋ฐ˜๋ณต์ ์ธ ์›€์ง์ž„์„ ๋งŒ๋“ค์–ด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Random: ๊ฐ ํ”„๋ ˆ์ž„์„ ๋ฌด์ž‘์œ„๋กœ ๋ณด์—ฌ์ฃผ๋ฉด์„œ ํ”„๋ ˆ์ž„ ๊ฐ„ ๋ถ€๋“œ๋Ÿฌ์šด ์ „ํ™˜ ํšจ๊ณผ๋„ ์ œ๊ณตํ•˜๋ฏ€๋กœ, ๋ณ„๋น›์ด๋‚˜ ๋ถˆ๊ฝƒ์ฒ˜๋Ÿผ ์„ฌ์„ธํ•˜๊ณ  ๋ณ€ํ™”๋ฌด์Œํ•œ ์ž…์ž ํ‘œํ˜„์— ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค.

Code Samples

local ParticleEmitter = script.Parent

print(ParticleEmitter.FlipbookMode)

FlipbookStartRandom

bool

ํŒŒํ‹ฐํด์ด ์ƒ์„ฑ๋  ๋•Œ ํ•ญ์ƒ ์• ๋‹ˆ๋ฉ”์ด์…˜์˜ ์‹œ์ž‘ ํ”„๋ ˆ์ž„์—์„œ ์žฌ์ƒ๋ ์ง€, ์•„๋‹ˆ๋ฉด ๋žœ๋คํ•œ ํ”„๋ ˆ์ž„์—์„œ ์‹œ์ž‘ํ• ์ง€๋ฅผ ์„ค์ •ํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค.

FlipbookFramerate๋ฅผ 0์œผ๋กœ ์„ค์ •ํ•˜๊ณ  ์ด ์†์„ฑ์„ true๋กœ ์„ค์ •ํ•˜๋ฉด, ๊ฐ ํŒŒํ‹ฐํด์ด ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์„ ๊ณ ์ •๋œ ์ƒํƒœ๋กœ ํ‘œ์‹œํ•˜๊ฒŒ ๋˜์–ด, ์ •์ ์ธ ๋ฌด์ž‘์œ„ ์ด๋ฏธ์ง€๋ฅผ ์—ฐ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Code Samples

LifeTime

NumberRange

ํŒŒํ‹ฐํด์ด ์ƒ์„ฑ๋œ ํ›„ ์–ผ๋งˆ ๋™์•ˆ ์œ ์ง€๋ ์ง€๋ฅผ ์ตœ์†Œ๊ฐ’๊ณผ ์ตœ๋Œ€๊ฐ’ ๋ฒ”์œ„๋กœ ์„ค์ •ํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค.

๊ฐ’์„ ๋ณ€๊ฒฝํ•ด๋„ ๊ธฐ์กด ํŒŒํ‹ฐํด์—๋Š” ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ , ์ดํ›„ ์ƒ์„ฑ๋˜๋Š” ํŒŒํ‹ฐํด๋ถ€ํ„ฐ ๋ณ€๊ฒฝ๋œ ๊ฐ’์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

Code Samples

local ParticleEmitter = script.Parent

ParticleEmitter.Lifetime = NumberRange.new(1, 1)

LightEmission

number

ํŒŒํ‹ฐํด์˜ ์ƒ‰์ƒ์ด ๋ฐฐ๊ฒฝ๊ณผ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์‹œ๊ฐ์ ์œผ๋กœ ์„ž์ผ์ง€๋ฅผ ์ œ์–ดํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค.

0์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๊ธฐ๋ณธ์ ์ธ ๋ฐ˜ํˆฌ๋ช… ์ฒ˜๋ฆฌ(์•ŒํŒŒ ๋ธ”๋ Œ๋”ฉ)๊ฐ€ ์ ์šฉ๋˜๋ฉฐ, 1๋กœ ์„ค์ •ํ•˜๋ฉด ์ƒ‰์ƒ์ด ํ™”๋ฉด์— ๋”ํ•ด์ง€๋Š” ํ˜•์‹์˜ ๋ฐ์€ ํšจ๊ณผ(๊ฐ€์‚ฐ ๋ธ”๋ Œ๋”ฉ)๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

์ด ๊ฐ’์€ ์ด๋ฏธ ๋ฐฉ์ถœ๋œ ํŒŒํ‹ฐํด์—๋„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

Code Samples

local ParticleEmitter = script.Parent

ParticleEmitter.LightEmission = 0.5

Orientation

Enum.ParticleOrientation

ํŒŒํ‹ฐํด์ด ํ™”๋ฉด์— ์–ด๋–ค ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐฐ์น˜๋ ์ง€๋ฅผ ์ •์˜ํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค.

  • Facing Camera: ํŒŒํ‹ฐํด์ด ํ•ญ์ƒ ์นด๋ฉ”๋ผ(ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๋ณด๋Š” ๋ฐฉํ–ฅ)๋ฅผ ํ–ฅํ•˜๋„๋ก ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค.

  • Facing Camera World Up : ํŒŒํ‹ฐํด์ด ์นด๋ฉ”๋ผ๋ฅผ ํ–ฅํ•˜์ง€๋งŒ, ํŒŒํ‹ฐํด์˜ ์œ„์ชฝ์€ ํ•ญ์ƒ ์›”๋“œ ์ขŒํ‘œ์˜ ์œ„์ชฝ(Y์ถ•)์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

  • Velocity Parallel: ํŒŒํ‹ฐํด์ด ์ด๋™ํ•˜๋Š” ์†๋„ ๋ฒกํ„ฐ์™€ ํ‰ํ–‰ํ•˜๊ฒŒ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค.

  • Velocity Perpendicular: ํŒŒํ‹ฐํด์ด ์ด๋™ํ•˜๋Š” ์†๋„ ๋ฒกํ„ฐ์— ์ˆ˜์ง์œผ๋กœ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค.

Code Samples

local ParticleEmitter = script.Parent

ParticleEmitter.Orientation = Enum.ParticleOrientation.FacingCameraWorldUp

Rate

number

ํŒŒํ‹ฐํด์ด ์–ผ๋งˆ๋‚˜ ์ž์ฃผ ์ƒ์„ฑ๋ ์ง€๋ฅผ ์ •์˜ํ•˜๋Š” ์†์„ฑ์œผ๋กœ, ๊ฐ’์ด ํด์ˆ˜๋ก ๋” ๋งŽ์€ ํŒŒํ‹ฐํด์ด ์งง์€ ์‹œ๊ฐ„ ์•ˆ์— ๋ฐฉ์ถœ๋ฉ๋‹ˆ๋‹ค.

๊ฐ’์„ ๋ณ€๊ฒฝํ•ด๋„ ๊ธฐ์กด ํŒŒํ‹ฐํด์—๋Š” ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ , ์ดํ›„ ์ƒ์„ฑ๋˜๋Š” ํŒŒํ‹ฐํด๋ถ€ํ„ฐ ๋ณ€๊ฒฝ๋œ ๊ฐ’์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

Code Samples

local ParticleEmitter = script.Parent

ParticleEmitter.Rate = 20

RotSpeed

number

ํŒŒํ‹ฐํด์ด ์ƒ์„ฑ๋  ๋•Œ ์–ผ๋งˆ๋งŒํผ์˜ ์†๋„๋กœ ํšŒ์ „ํ• ์ง€๋ฅผ ์„ค์ •ํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค.

์ด ๊ฐ’์€ ์ด๋ฏธ ๋ฐฉ์ถœ๋œ ํŒŒํ‹ฐํด์—๋„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

Code Samples

local ParticleEmitter = script.Parent

ParticleEmitter.RotSpeed = 3

Rotation

NumberRange

ํŒŒํ‹ฐํด์ด ์ƒ์„ฑ๋  ๋•Œ ์–ด๋–ค ๊ฐ๋„๋กœ ํšŒ์ „๋œ ์ƒํƒœ๋กœ ๋‚˜ํƒ€๋‚ ์ง€๋ฅผ ์„ค์ •ํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค.

์„ค์ •๋œ ๊ฐ๋„ ๋ฒ”์œ„ ์•ˆ์—์„œ ๋ฌด์ž‘์œ„ ๊ฐ’์ด ์„ ํƒ๋˜์–ด ํŒŒํ‹ฐํด์— ์ ์šฉ๋˜๋ฉฐ, ์ผ๋ฐ˜์ ์œผ๋กœ (0, 360)์ฒ˜๋Ÿผ ์ „์ฒด ํšŒ์ „ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•˜๋ฉด ํŒŒํ‹ฐํด๋“ค์ด ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ๋ณด์ด๊ฒŒ ๋˜์–ด ๋” ์ž์—ฐ์Šค๋Ÿฝ๊ณ  ํฉ์–ด์ง„ ๋А๋‚Œ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ’์„ ๋ณ€๊ฒฝํ•ด๋„ ๊ธฐ์กด ํŒŒํ‹ฐํด์—๋Š” ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ , ์ดํ›„ ์ƒ์„ฑ๋˜๋Š” ํŒŒํ‹ฐํด๋ถ€ํ„ฐ ๋ณ€๊ฒฝ๋œ ๊ฐ’์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

Code Samples

local ParticleEmitter = script.Parent

ParticleEmitter.Rotation = NumberRange.new(0, 360)

Shape

Enum.ParticleEmitterShape

ํŒŒํ‹ฐํด์ด ์–ด๋–ค ํ˜•์ƒ์˜ ์˜์—ญ ๋‚ด์—์„œ ์ƒ์„ฑ๋ ์ง€๋ฅผ ์ง€์ •ํ•˜๋Š” ์†์„ฑ์œผ๋กœ, ๋ฐ•์Šคํ˜•, ๊ตฌํ˜•, ์›ํ†ตํ˜•, ์›๋ฐ˜ํ˜• ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„ ํƒํ•œ ํ˜•ํƒœ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํŒŒํ‹ฐํด์ด ํผ์ ธ๋‚˜๊ฐ€๋ฉฐ, ์ดํ›„ ShapeStyle, ShapeInOut, ShapePartial ์†์„ฑ๋“ค์„ ์กฐํ•ฉํ•˜๋ฉด ๋ฐฉํ–ฅ, ๋ฒ”์œ„, ์•ˆํŒŽ์œผ๋กœ์˜ ๋ฐฉ์ถœ ๋“ฑ ๋‹ค์–‘ํ•œ ์„ธ๋ถ€ ์„ค์ •์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

Code Samples

local ParticleEmitter = script.Parent

ParticleEmitter.Shape = Enum.ParticleEmitterShape.Cylinder

ShapeInOut

Enum.ParticleEmitterShapeInOut

ํŒŒํ‹ฐํด์ด ๋ฐฉ์ถœ ์˜์—ญ์˜ ์™ธ๋ถ€๋กœ๋งŒ ๋‚˜๊ฐˆ์ง€, ๋‚ด๋ถ€๋กœ๋งŒ ํ–ฅํ• ์ง€๋ฅผ ์ง€์ •ํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค.

Code Samples

local ParticleEmitter = script.Parent

ParticleEmitter.ShapeInOut = Enum.ParticleEmitterShapeInOut.InWard

ShapeStyle

Enum.ParticleEmitterShapeStyle

ํŒŒํ‹ฐํด์ด ์„ ํƒํ•œ ๋ชจ์–‘(Shape)์˜ ๋ชจ๋“  ์ง€์ ์—์„œ ์ƒ์„ฑ๋ ์ง€, ์•„๋‹ˆ๋ฉด ํ•ด๋‹น ๋ชจ์–‘์˜ ํ‘œ๋ฉด์—์„œ๋งŒ ์ƒ์„ฑ๋ ์ง€๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

Code Samples

local ParticleEmitter = script.Parent

ParticleEmitter.ShapeStyle = Enum.ParticleEmitterShapeStyle.Volume

Size

NumberSequence

ํŒŒํ‹ฐํด์˜ ์ ์ง„์ ์ธ ํฌ๊ธฐ ๋ณ€ํ™”๋ฅผ ColorSequence๋ฅผ ์ด์šฉํ•˜์—ฌ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

NumberSequence๋ฅผ ์‚ฌ์šฉํ•ด ํฌ๊ธฐ๋ฅผ ๋‹จ๊ณ„๋ณ„๋กœ ์„ค์ •ํ•˜๋ฉด, ํŒŒํ‹ฐํด์ด ์ƒ์„ฑ๋  ๋•Œ๋Š” ์ž‘์•˜๋‹ค๊ฐ€ ์ ์  ์ปค์ง€๊ฑฐ๋‚˜, ๋ฐ˜๋Œ€๋กœ ์ƒ์„ฑ ์งํ›„ ํฌ๊ณ  ์ ์ฐจ ์ค„์–ด๋“œ๋Š” ์‹์˜ ํšจ๊ณผ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Code Samples

local ParticleEmitter = script.Parent

ParticleEmitter.Size = NumberSequence.new(0.5)

Speed

NumberRange

ํŒŒํ‹ฐํด์ด ์ƒ์„ฑ๋  ๋•Œ ์–ผ๋งˆ๋‚˜ ๋น ๋ฅด๊ฒŒ, ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ค ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™์„ ์‹œ์ž‘ํ• ์ง€๋ฅผ ์ง€์ •ํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค.

์„ค์ •๋œ ๋ฒ”์œ„ ์•ˆ์—์„œ ๋ฌด์ž‘์œ„ ๊ฐ’์ด ์„ ํƒ๋˜์–ด ํŒŒํ‹ฐํด์˜ ์†๋„์— ์ ์šฉ๋˜๋ฉฐ, ์Œ์ˆ˜๋กœ ์„ค์ •ํ•˜๋ฉด ์ง€์ •๋œ ๋ฐฉ์ถœ ๋ฐฉํ–ฅ์˜ ๋ฐ˜๋Œ€์ชฝ์œผ๋กœ ์›€์ง์ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๊ฐ’์„ ๋ณ€๊ฒฝํ•ด๋„ ๊ธฐ์กด ํŒŒํ‹ฐํด์—๋Š” ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ , ์ดํ›„ ์ƒ์„ฑ๋˜๋Š” ํŒŒํ‹ฐํด๋ถ€ํ„ฐ ๋ณ€๊ฒฝ๋œ ๊ฐ’์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

Code Samples

local ParticleEmitter = script.Parent

ParticleEmitter.Speed = NumberRange.new(1000, 1200)

SpreadAngle

number

ํŒŒํ‹ฐํด์ด ์ƒ์„ฑ๋  ๋•Œ ์ ์šฉํ•  ๋ฌด์ž‘์œ„ ๊ฐ๋„๋ฅผ ์ง€์ •ํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด +Y ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐœ์‚ฌ๋˜๋„๋ก ์„ค์ •ํ–ˆ๋”๋ผ๋„, SpreadAngle ๊ฐ’์„ ์ด์šฉํ•˜๋ฉด ์œ„๋กœ ํ–ฅํ•˜๋Š” ๊ฐ๋„์— X/Z ์ถ• ๊ธฐ์ค€์˜ ํผ์ง ํšจ๊ณผ๊ฐ€ ๋”ํ•ด์ ธ ์ž์—ฐ์Šค๋Ÿฌ์šด ๋ถ„์‚ฐ ์—ฐ์ถœ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

Code Samples

local ParticleEmitter = script.Parent

ParticleEmitter.SpreadAngle = 90

Squash

NumberSequence

ํŒŒํ‹ฐํด์˜ ๊ฐ€๋กœ์™€ ์„ธ๋กœ ํฌ๊ธฐ๋ฅผ ์„œ๋กœ ๋‹ค๋ฅธ ๋น„์œจ๋กœ ์ ์ง„์ ์œผ๋กœ ์กฐ์ ˆํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค.

์–‘์ˆ˜ ๊ฐ’์„ ์„ค์ •ํ•˜๋ฉด ๊ฐ€๋กœ๋กœ ๋„“์–ด์ง€๋ฉด์„œ ์„ธ๋กœ ๊ธธ์ด๊ฐ€ ์ค„์–ด๋“ค๊ณ , ์Œ์ˆ˜ ๊ฐ’์„ ์„ค์ •ํ•˜๋ฉด ํŒŒํ‹ฐํด์ด ์„ธ๋กœ๋กœ ๋Š˜์–ด๋‚˜๋ฉด์„œ ๊ฐ€๋กœ ํญ์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.

Code Samples

local ParticleEmitter = script.Parent

ParticleEmitter.Squash = NumberSequence.new(5)

Texture

string

ํŒŒํ‹ฐํด์— ํ‘œ์‹œ๋  ์ด๋ฏธ์ง€๋ฅผ ์„ค์ •ํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค.

Code Samples

local ParticleEmitter = script.Parent

ParticleEmitter.Texture = "ovdrassetid://1234"

Transparency

NumberSequence

ํŒŒํ‹ฐํด์˜ ํˆฌ๋ช…๋„ ๋ณ€ํ™”๋ฅผ ์ ์ง„์ ์œผ๋กœ ์„ค์ •ํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค.

Code Samples

local ParticleEmitter = script.Parent

ParticleEmitter.Transparency = NumberSequence.new(0.8)

Methods

Clear

์ƒ์„ฑ๋œ ๋ชจ๋“  ํŒŒํ‹ฐํด์„ ํ•œ ๋ฒˆ์— ์‚ญ์ œํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฅผ ํ™œ์šฉํ•˜๋ฉด ํŠน์ • ์ด๋ฒคํŠธ ์‹œ ๋‚จ์•„ ์žˆ๋Š” ์ž…์ž๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ์ •๋ฆฌํ•˜๊ฑฐ๋‚˜, ์ƒˆ๋กœ์šด ํšจ๊ณผ๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ํ™”๋ฉด์„ ์ดˆ๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Parameters

Return

void

Code Samples

local ParticleEmitter = script.Parent

ParticleEmitter:Clear()

Emit

์ง€์ •ํ•œ ์ˆ˜์˜ ํŒŒํ‹ฐํด์„ ๋™์‹œ์— ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Rate ์†์„ฑ๊ธฐ๋ฐ˜์˜ ์ž๋™ ๋ฐฉ์ถœ๊ณผ ๋‹ฌ๋ฆฌ, ํ˜ธ์ถœ ์‹œ์ ์— ๋งž์ถฐ ์ฆ‰๊ฐ์ ์œผ๋กœ ํŒŒํ‹ฐํด์ด ์ƒ์„ฑ๋˜๋ฏ€๋กœ ํญ๋ฐœ, ๋ฒˆ์ฉ์ž„, ์ถฉ๋Œ ํšจ๊ณผ์ฒ˜๋Ÿผ ํŠน์ • ์ด๋ฒคํŠธ์— ๋งž์ถ˜ ์—ฐ์ถœ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

Parameters

number ParticleCount

์ƒ์„ฑํ•  ํŒŒํ‹ฐํด์˜ ๊ฐœ์ˆ˜์ž…๋‹ˆ๋‹ค.

Return

void

Code Samples

local ParticleEmitter = script.Parent

ParticleEmitter:Emit(30)

Events

See also

VFX

Last updated