ParticleEmitter

사용되지 않는 항목 표시

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

ParticleEmitter 는 세계에 사용자 정의 2D 입자를 발생시키는 특수 개체입니다. 입자를 발생하려면 부모가 되는 BasePart 또는 Class.

에미터가 Enabled 와 함께 비-Zero Rate 를 가지고 있거나 수동으로 에미터 메서드 Class.Part

기본적으로 입자는 카메라를 직면하지만 Orientation 을 수정하면 입자 속도를 존중하여 수정할 수 있습니다.

입자의 수명 동안 Lifetime

입자 방출기를 만들고 사용자 정의하는 방법에 대해서는 입자 방출기를 참조하십시오.

코드 샘플

Creating a Particle Emitter from Scratch

local emitter = Instance.new("ParticleEmitter")
-- Number of particles = Rate * Lifetime
emitter.Rate = 5 -- Particles per second
emitter.Lifetime = NumberRange.new(1, 1) -- How long the particles should be alive (min, max)
emitter.Enabled = true
-- Visual properties
emitter.Texture = "rbxassetid://1266170131" -- A transparent image of a white ring
-- For Color, build a ColorSequence using ColorSequenceKeypoint
local colorKeypoints = {
-- API: ColorSequenceKeypoint.new(time, color)
ColorSequenceKeypoint.new(0, Color3.new(1, 1, 1)), -- At t=0, White
ColorSequenceKeypoint.new(0.5, Color3.new(1, 0.5, 0)), -- At t=.5, Orange
ColorSequenceKeypoint.new(1, Color3.new(1, 0, 0)), -- At t=1, Red
}
emitter.Color = ColorSequence.new(colorKeypoints)
local numberKeypoints = {
-- API: NumberSequenceKeypoint.new(time, size, envelop)
NumberSequenceKeypoint.new(0, 1), -- At t=0, fully transparent
NumberSequenceKeypoint.new(0.1, 0), -- At t=.1, fully opaque
NumberSequenceKeypoint.new(0.5, 0.25), -- At t=.5, mostly opaque
NumberSequenceKeypoint.new(1, 1), -- At t=1, fully transparent
}
emitter.Transparency = NumberSequence.new(numberKeypoints)
emitter.LightEmission = 1 -- When particles overlap, multiply their color to be brighter
emitter.LightInfluence = 0 -- Don't be affected by world lighting
-- Speed properties
emitter.EmissionDirection = Enum.NormalId.Front -- Emit forwards
emitter.Speed = NumberRange.new(0, 0) -- Speed of zero
emitter.Drag = 0 -- Apply no drag to particle motion
emitter.VelocitySpread = NumberRange.new(0, 0)
emitter.VelocityInheritance = 0 -- Don't inherit parent velocity
emitter.Acceleration = Vector3.new(0, 0, 0)
emitter.LockedToPart = false -- Don't lock the particles to the parent
emitter.SpreadAngle = Vector2.new(0, 0) -- No spread angle on either axis
-- Simulation properties
local numberKeypoints2 = {
NumberSequenceKeypoint.new(0, 0), -- At t=0, size of 0
NumberSequenceKeypoint.new(1, 10), -- At t=1, size of 10
}
emitter.Size = NumberSequence.new(numberKeypoints2)
emitter.ZOffset = -1 -- Render slightly behind the actual position
emitter.Rotation = NumberRange.new(0, 360) -- Start at random rotation
emitter.RotSpeed = NumberRange.new(0) -- Do not rotate during simulation
-- Create an attachment so particles emit from the exact same spot (concentric rings)
local attachment = Instance.new("Attachment")
attachment.Position = Vector3.new(0, 5, 0) -- Move the attachment upwards a little
attachment.Parent = script.Parent
emitter.Parent = attachment

요약

속성

  • 병렬 읽기

    모든 활성 입자의 전체 축 가속을 결정하고, 초당 스터드당 측정됩니다.

  • 병렬 읽기

    Class.ParticleEmitter.LightInfluence가 0인 경우 에미터에서 방출되는 빛을 조정합니다.

  • 병렬 읽기

    개별 수명에 대한 모든 활성 입자의 색을 결정합니다.

  • 병렬 읽기

    입자가 절반 속도를 잃을 때의 속도 손실 속도를 결정합니다.

  • 입자가 방출하는 개체의 얼굴을 결정합니다.

  • 병렬 읽기

    에미터에서 방출되는 입자를 결정합니다.

  • 프레임 당 플립북 텍스처 애니메이션의 속도를 결정합니다.

  • Class.ParticleEmitter.Texture|Texture 이 플립북에 호환되지 않으면 표시하는 오류 메시지입니다.

  • 플립북 텍스트 레이아웃을 결정합니다. 아무 것도, 그리드2x2, 그리드4x4 또는 그리드8x8여야 합니다.

  • 리플북 애니메이션의 유형을 결정합니다. 루프, 원샷, 핑퐁 또는 랜덤이어야 합니다.

  • 모든 프레임에서 항상 프레임 0에 시작하는 대신 랜덤 프레임에서 애니메이션이 시작되는지 여부를 결정합니다.

  • 병렬 읽기

    새로 생성된 입자에 대한 랜덤 연령을 정의합니다.

  • 병렬 읽기

    입자 색상이 뒤에 있는 색상과 얼마나 혼합되는지 결정합니다.

  • 병렬 읽기

    환경 조명에 의해 영향을 받는 입자의 양을 결정합니다.

  • 숨김
    복제되지 않음
    병렬 읽기
  • 병렬 읽기

    방출되는 부품과 함께 입자가 얼마나 단단하게 이동하는지 결정합니다.

  • 입자를 정렬하는 방법을 지정합니다.

  • 병렬 읽기

    초당 방출되는 입자 수를 결정합니다.

  • 병렬 읽기

    초당 초기 속도 측정 단위인 도를 사용하여 방출된 입자의 각도 속도를 결정합니다.

  • 병렬 읽기

    새로 생성된 입자의 회전 범위를 결정합니다.

  • 방출기의 모양을 상자, 구, 실린더 또는 디스크로 설정합니다.

  • 입자가 나가거나 들어가거나 두 방향으로 방출하는지 여부를 설정합니다.

  • 병렬 읽기

    실린더, 디스크, 구, 상자 모양의 입자 방출에 영향을 미칩니다.Influences particle emission from cylinder, disc, sphere, and box shapes.

  • 입자 방출을 음이 아닌 음이나 표면 전용 음으로 설정합니다.

  • 병렬 읽기

    개별 입자의 수명에 대한 세계 크기를 결정합니다.

  • 병렬 읽기

    초당 스터드(최소값에서 최대값)에 따라 새로운 입자가 방출하는 랜덤한 범위(최소값에서 최대값)를 결정합니다.

  • 병렬 읽기

    입자가 무작위로 방출되는 각도를 정의합니다.

  • 병렬 읽기

    입자의 비정규 크기 조정을 허용하고 수명 동안 곡선을 통제합니다.Allows for non-uniform scaling of particles, curve-controlled over their lifetime.

  • Texture:ContentId
    병렬 읽기

    입자에 대해 렌더링할 이미지를 결정합니다.

  • 병렬 읽기

    입자 효과 속도를 조정하는 값은 0에서 1 사이입니다.

  • 개별 수명에 대한 입자의 투명도를 결정합니다.

  • 부모의 속도를 입자가 방출할 때 상속하는 부분을 결정합니다.

  • 병렬 읽기

    방출되는 입자가 Workspace.GlobalWind 벡터를 따릅니까?

  • 병렬 읽기

    입자의 앞/뒤 렌더링 위치를 결정합니다. 입자가 맨 위/맨 아래에서 렌더링되는지 제어합니다.

메서드

  • Clear():void

    방출된 모든 입자를 제거합니다.

  • Emit(particleCount : number):void

    지정된 수의 입자를 생성합니다.

속성

Acceleration

병렬 읽기

Acceleration 속성은 입자의 수명에 걸쳐 Speed 가 어떻게 변경되는지 결정합니다. 이는 Vector3 를 사용하여 가속을 결정하는데

Acceleration will slow particles down if the vector points in the opposite EmissionDirection in which they emitted. Otherwise, it will speed them up.

Brightness

병렬 읽기

Class.ParticleEmitter.LightInfluence가 0인 경우 에미터에서 방출되는 빛을 조정합니다.

병렬 읽기

색 속성은 모든 활성 입자의 개별 수명에 걸쳐 적용되는 모든 색을 결정합니다. 색은 렌더링 시 Texture 에 적용되며, 이는 이미터의

이 속성을 변경하면 현재와 미래의 모든 입자가 에미터에 의해 방출됩니다.

이 속성이 그라디언트를 사용할 때, 입자의 현재 색상은 입자의 나이와 총 수명을 선형으로 인터폴레이션하여 결정됩니다. 예를 들어, 입자가 2초 전에 생성되었으며 총 수명이 4초인 경우, 색상은 입자의 50%를 통과하는 길이를 가진

Drag

병렬 읽기

드래그 속성은 개별 입자가 엑스폰셜 쇠퇴를 통해 속도의 절반을 잃는 속도 측정 단위를 결정합니다. 드래그는 속도를 예측하여 Speed 및 부모에서 상속

EmissionDirection

병렬 읽기

EmissionDirection 속성은 발생하는 부모 개체의 얼굴( Class.ParticleEmitter.Speed|Speed)을 결정합니다. 부정적인 Class.ParticleEmitter.Speed|Speed 는 입자가 방출하는 반대 방향으로 입자가 방출합니다. 1> Class.ParticleEmitter.SpreadAngle|SpreadAngle1> 는

Class.ParticleEmitter 를 Attachment 에 추가하면 방향이 있는 경우 해당 부착물 자체를 회전하여 해결할 수 있습니다(Attachment.Orientation). Korean: Class.ParticleEmitter 를 Class.Attachment 에 추가하면 해당 부착물 자체를 회전하여 해결할 수 있습니다( Class

Enabled

병렬 읽기

설정 을 사용하면 입자가 발생하는 에미터에서 입자를 발생시키는지 여부를 결정합니다. 이 속성을 false false 로 설정하면 입자 생성을 중지할 수 있지만, 기존 입자는 만료될 때까지 활성으로 유지됩니다. 이 속성은 입자 효과를 사용하여 비활성화하려는

비활성 에미터에서 모든 입자를 제거하려면 Class.ParticleEmitter:Clear()|Clear()를 호출하십시오. 그런 다음, 원하는 경우 에미터에서 Emit()를 호출하여 입자를 제거하고 렌더링하십시오.

FlipbookFramerate

병렬 읽기

FlipbookFramerate 속성은 프레임당 초당 프레임 속도에 대해 결정합니다. Lifetime 와 마찬가지로, 프레임당 최소 및 최대 범위를 설정하여 프레임 속도를 무작위로 변경할 수 있습니다. 최대 30개의 프레임이 있는 경우).

FlipbookIncompatible

병렬 읽기

Class.ParticleEmitter.Texture|Texture 이 플립북에 호환되지 않으면 표시 오류 메시지가 표시됩니다. 플립북 텍스처는 8×8, 16×16, 32×32, 64×64, 128×128, 256×256, 512×512, 또는 1

병렬 읽기

FlipbookLayout 속성은 텍스트 레이아웃을 결정합니다. 그것은 Enum.ParticleFlipbookLayout 열거형의 어느 값이든 될 수 있습니다.

  • 없음 – 플립북 기능을 비활성화하고 텍스처를 입자 수명 전체에 단일 정적 텍스처로 사용합니다.
  • Grid2x2 – 4-프레임 애니메이션용 2×2 프레임.
  • Grid4x4 – 16개의 프레임을 위한 4×4 애니메이션.
  • Grid8x8 – 64개 프레임 애니메이션용 8×8 프레임.
병렬 읽기

FlipbookMode 속성은 플립북 애니메이션의 유형을 결정합니다. 열거형 Enum.ParticleFlipbookMode의 값을 모두 포함할 수 있습니다.

  • 루프: – 마지막 프레임을 플레이한 후 첫 번째 프레임으로부터 계속 재생합니다.
  • 원샷 – 프레임 속성은 입자의 수명 동안 단 한 번만 애니메이션을 플레이합니다. 이 설정으로 Class.ParticleEmitter.FlipbookFramerate|
  • PingPong – 첫 번째 프레임에서 마지막 프레임으로 플레이하고, 마지막으로 첫 번째로 되돌리고, 입자의 Lifetime 전체에 걸쳐 반복합니다.
  • 랜덤 – 프레임을 랜덤 순서로 플레이하고 한 프레임에서 다른 프레임으로 섬세하게 섬세하게 섬세하게 섬세하게 섬세하게 섬세하게 섬세하게 섬세하게 섬세하게 섬세하게 섬세하게 섬세하게 섬세하게 섬세하게 섬세하게 섬세하게 섬세하게 ��

FlipbookStartRandom

병렬 읽기

FlipbookStartRandom 속성은 각 입자가 항상 첫 번째 프레임에 시작하는 대신 랜덤 프레임으로 시작하는지 여부를 결정합니다. 한 사용 사례는 이 속성을 활성화하고 FlipbookFramerate 를 랜덤로 설정하여

Lifetime

병렬 읽기

수명력 속성은 새로 발생한 입자에 대한 최대 및 최소 나이를 정의합니다. 수명은 각 입자에 대해 순차적으로 선택된 생성 시간에 저장됩니다. 0 순차 기반 수명은 모든 입자를 비활성화합니다.

LightEmission

병렬 읽기

LightEmission 속성은 배경색과 색상 Class.ParticleEmitter.Texture|Texture 색상 사이의 혼합을 결정합니다. 0 값은 일반 혼합 모드를 사용하며 1 값은 추가 혼합 모드를 사용합니다. 변경하면 이 속성은 현재 및 미래의 모든 입자에 영향을 즉시 미칩니다.

이 속성은 LightInfluence 에 의해 결정된 환경 조명에 의해 입자가 어떻게 영향을 받는지 결정하지 않아야 합니다.

이 속성은 입자가 환경을 둘러싸게 하지 않도록 합니다. 이를 달성하려면 Class.PointLight를 사용하십시오.

LightInfluence

병렬 읽기

LightInfluence 속성은 렌더링할 때 개별 입자의 색을 결정하는 환경 조명의 양을 결정합니다. 범위는 0-1 범위입니다. 범위 외의 값은 동작을 정의하지 않습니다. 0에서는 입자가 조명에 영향을 받지 않습니다(완전히 밝게 유지됨). 1에서는

기본적으로 이 값은 Studio 도구를 사용하여 삽입하는 경우 1이 됩니다. Instance.new() 를 사용하여 삽입하는 경우 0이 됩니다.

LocalTransparencyModifier

숨김
복제되지 않음
병렬 읽기

LockedToPart

병렬 읽기

Class.ParticleEmitter 클래스에 속성 Attachment 이 있는 경우 입자가 발생 원본(BasePart 또는 1> Class.BasePart1>에 스틱하는지 여부를 결정합니다. 활성 입자는 부모 개체가 이동하는 잠금 단계에 따

또한, 일부 효과에 적합하도록 속도 상속자 값이 1인 <Class.ParticleEmitter.VelocityInheritance|VelocityInheritance> 속성을 사용하는 것을 고려하십시오.

병렬 읽기

지향성 속성은 방출자의 입자 기하구조에 대해 사용할 지향 모드를 결정합니다.


<tbody>
<tr>
<td><b>얼굴 카메라</b></td>
<td>기본 카메라 얼굴 광고 쿼드; 기본 동작.</td>
</tr>
<tr>
<td><b>페이셜 카메라 월드업</b></td>
<td>카메라를 바라보고 있지만 세로 상승 세계 <b>Y</b> 축을 중심으로 회전합니다.</td>
</tr>
<tr>
<td><b>VelocityParallel</b></td>
<td>이동 방향과 맞춤.</td>
</tr>
<tr>
<td><b>VelocityPerpendicular</b></td>
<td>그들의 방향 이동에 맞춰 정렬됩니다.</td>
</tr>
</tbody>
지향성입자 동작

Rate

병렬 읽기

Rate 속성은 발생기가 Enabled 인 경우 초당 발생하는 입자 수를 결정합니다. 이것은 주파수의 반대이며, 즉 5 개의 입자가 0.2초마다 발생합니다. 이 속성을 변경하면 이 속성은 어떤 활성 입자에도 영향을 미치지 않습니다.

RotSpeed

병렬 읽기

RotSpeed 속성은 초당 초기 방출된 입자에 대한 무작위 각도의 속도를 결정합니다. 무작위 각도의 속도는 방출 시 선택되며, 이 속성을 변경하면 활성 입자에 영향을 주지 않습니다. 이 속성과 Rotation 간의 각도 간의 각도 간의 각도 간의

매우 높은 각도 속도를 가진 입자는 회전이 더 느리거나 아예 회전하지 않을 수 있습니다, 회전 각도가 소프트웨어 렌더링 속도와 동기화되기 때문입니다. 예를 들어, 각도가 360도 마다 정확히 회전하는 경우 회전에 대한 변경은 없습니다.

Rotation

병렬 읽기

회전 속성은 새로 생성된 입자에 대한 회전 범위를 정의합니다. 이 속성은 시계 방향으로 정의됩니다. 양수 값은 새로운 입자에 대한 완전히 무작위 회전을 제공하기 위해 [0, 360] 로 설정됩니다.

이 값에 변경 사항을 적용하면 새로운 입자에만 적용됩니다. 기존 입자는 원래 방출된 때의 회전을 유지합니다.

병렬 읽기

모양 속성은 에미터의 모양을 상자, 구, 실린더 또는 디스크로 설정합니다. 선택을 하면 ShapeStyle , Class.ParticleEmitter.ShapeInOut|ShapeInOut

병렬 읽기

입자가 나가거나 들어가거나 두 방향으로만 방출하는지 여부를 설정합니다. 시각적 예에 대해서는 여기를 참조하십시오.

ShapePartial

병렬 읽기

Class.ParticleEmitter.Shape|Shape 값에 따라 이 속성은 다른 액션수행합니다.

  • 실린더의 경우 상위 반지 비율을 지정합니다. 0의 값은 실린더의 상위 반지가 0인 것을 의미하므로 콘이 됩니다. 1의 값은 실린더의 상피가 변형되지 않습니다.

  • 디스크에 대해 내부 반경 비율을 지정합니다. 0의 값은 디스크가 완전히 닫힌 상태를 나타내며(원/타원형), 1의 값은 디스크의 외부 면에서만 방출이 발생합니다. 0과 1 사이의 값은 특정 두께의 원에서 나옵니다.

  • 구체의 경우, 그것은 입자가 방출하는 쌍극자 각도를 지정합니다. 값 1은 입자가 전체 구체에서 방출하는 것을 의미합니다; 값 0.5는 입자가 반픽셀에서 방출하는 것을 의미합니다; 값 0은 입자가 단일 지점에서만 방출합니다.

시각적 예시는 여기에 참조하십시오.

병렬 읽기

입자 방출을 음향 또는 표면 방출로 설정합니다. 시각적 예는 여기를 참조하십시오.

병렬 읽기

크기 속성은 모든 활성 입자의 개별 수명에 걸쳐 전 세계 크기를 결정합니다. 이 속성은 각 입자의 Class.ParticleEmitter.Texture|Texture 차원을 나타냅니다. 이 속성은 Texture 와 같이 작동하며 Class.ParticleEmitter.Transparency|Transparency

입자의 현재 크기는 입자의 나이와 총 수명을 사용하여 이 시퀀스에서 직선적으로 인터폴레이션하여 결정됩니다. 예를 들어, 입자가 2초 전에 생성되었으며 총 수명이 4초인 경우,

병렬 읽기

속도 속성은 주어진 속도(최소값에서 최대값)에 따라 새로운 입자가 방출하는 속도를 결정합니다(측정값은 초당 스터드). 각 입자의 속도는 방출 시 선택되며 적용 사항은 Class.ParticleEmitter.EmissionDirection|EmissionDirection 입니다. 부정수 값은 입자가 역방향으로 이동하게 합니다.

Class.ParticleEmitter.Speed|Speed를 변경하면 활성 입자에는 영향을 주지 않지만 이미 가진 속도를 유지합니다. 그러나 Acceleration , Drag 및 1>Class.

SpreadAngle

병렬 읽기

SpreadAngle 속성은 입자가 방출되는 무작위 각도를 결정합니다. 예를 들어, EmissionDirection상단 (+ 1>Y1>)이면 이 4>Datatype.Vector2</

하나의 축을 360으로 설정하면 입자가 원의 모든 방향으로 방출됩니다. 둘 다를 360으로 설정하면 입자가 원의 모든 방향으로 방출됩니다.

병렬 읽기

특성의 크기를 조정하는 것이 아닌 경우 모든 크기를 조정할 수 있습니다. 특성의 크기를 조정하는 것은 모든 크기를 조정하는 것보다 작거나 같습니다. 값이 0보다 작으면 특성의 크기를 조정하는 것이 모든 크기를 조정하는 것보다 작습니다.

Texture

ContentId
병렬 읽기

텍스처 속성은 입자에 대해 렌더링되는 이미지를 결정합니다. 이 이미지는 Class.ParticleEmitter.Color|Color, Color, Transparency 및 2>

TimeScale

병렬 읽기

입자 효과 속도를 제어하는 값입니다. 1에서 0.5로 속도를 조정합니다. 0에서 얼리고 시간을 정지합니다.

Transparency

병렬 읽기

투명도 속성은 모든 활성 입자의 개별 수명에 대해 투명도를 결정합니다. 시간에 따라 입자에 영향을 미치는 Class.ParticleEmitter.Size|Size와 같은 작동 방식을 사용합니다. 렌더링 측면에서 0은 완전히 보이지 않고 1은 완전히 보이지 않습니다.

입자의 현재 투명도는 입자의 나이와 총 수명을 사용하여 이 시퀀스에서 직선적으로 인터폴레이션하는 방식으로 결정됩니다. 예를 들어, 입자가 2초 전에 생성되었으며 총 수명

VelocityInheritance

병렬 읽기

VelocityInheritance 속성은 부모 부품의 Class.BasePart.Velocity|Velocity 가 얼마나 많은 속도를 입자가 방출할 때 상속하는지 결정합니다. 값 0은 속도가 상속되지 않음을 나타내고 값 1은 입자가 부모 부품의 Velocity 와 정확히 같은

Class.ParticleEmitter.Drag|Drag 와 함께 사용할 때 입자 에미터는 이동 부품에서 입자를 "흘려주는" 것처럼 보일 수 있습니다.

WindAffectsDrag

병렬 읽기

진실하면, 방출된 입자는 Workspace.GlobalWind 벡터를 따릅니다. Drag 속성이 0보다 큰 경우에만 적용됩니다.

ZOffset

병렬 읽기

ZOffset 속성은 크기를 변경하지 않고 스터드 단위의 입자 앞-뒤 렌더링 위치를 결정합니다. 이 속성은 현재 및 미래의 모든 입자에 영향을 줍니다. 이 속성은 소수 값을 수락합니다; 그것은 GuiObject.ZIndex (정수)와 같은 것이 아닙

긍정 값은 카메라에 더 가까이 입자를 이동하고 부정 값은 입자를 부모 부품 뒤로 이동합니다. 충분히 부정 값은 입자를 부모 부품 내부 또는 부모 부품 뒤에 렌더링할 수 있습니다.

메서드

Clear

void

Clear 메서드는 자연 방출(non-zero Class.ParticleEmitter.Rate|Rate)을 통해 발생한 모든 입자를 즉시 제거합니다(ParticleEmitter 의 내장 방출(Rate 없음). 또는 1>Class.ParticleEmitter:Enable|Enable1>


반환

void

코드 샘플

ParticleEmitter Burst

local emitter = script.Parent
while true do
emitter:Clear()
emitter:Emit(10)
task.wait(2)
end

Emit

void

에미트 메서드는 ParticleEmitter에게 즉시 입력된 입자 수를 에미트하도록 합니다.

매개 변수

particleCount: number

방출할 입자 수입니다.

기본값: 16

반환

void

코드 샘플

Emit Particles Over Distance

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
ParticleEmitter Burst

local emitter = script.Parent
while true do
emitter:Clear()
emitter:Emit(10)
task.wait(2)
end

이벤트