AreaParticleComponent

생성 영역을 조절할 수 있는 파티클 효과를 만드는 기능을 제공합니다. 눈, 비, 안개 같은 파티클이 해당합니다.

# Properties

[{"index":"Vector2 AreaOffset (Sync)","0":"엔티티를 기준으로 생성 범위의 중심점 위치를 설정합니다."}]

[{"index":"Vector2 AreaSize (Sync)","0":"파티클 생성 범위의 너비와 높이를 지정합니다."}]

[{"index":"AreaParticleType ParticleType (Sync)","0":"생성할 파티클 타입을 설정합니다."}]

##### inherited from BaseParticleComponent:

[{"index":"boolean AutoRandomSeed (Sync)","0":"파티클 입자 방출이 시작될 때마다 랜덤 시드를 새로 생성할지 여부를 설정합니다."}]

[{"index":"Color Color (Sync)","0":"렌더링될 파티클의 색상을 보정합니다."}]

[{"index":"boolean IgnoreMapLayerCheck (Sync)","0":"SortingLayer에 Map Layer 이름을 지정했을 때 자동 치환을 수행하지 않습니다."}]

[{"index":"boolean IsEmitting (Sync) (ReadOnly) (HideFromInspector)","0":"새 파티클을 방출하고 있는지를 나타냅니다."}]

[{"index":"LitMode LitMode (Sync)","0":"머티리얼 또는 오브젝트가 광원의 영향을 받을지 여부를 결정하는 렌더링 방식을 선택합니다."}]

[{"index":"boolean Loop (Sync)","0":"파티클 반복 재생 여부를 설정합니다."}]

[{"index":"int32 OrderInLayer (Sync)","0":"같은 Layer 내의 우선순위를 결정합니다. 수가 클수록 앞에 보입니다."}]

[{"index":"float ParticleCount (Sync)","0":"파티클 입자 개수를 설정합니다."}]

[{"index":"float ParticleLifeTime (Sync)","0":"파티클 입자의 지속시간을 설정합니다."}]

[{"index":"float ParticleSize (Sync)","0":"파티클 입자의 크기를 설정합니다."}]

[{"index":"float ParticleSpeed (Sync)","0":"파티클 입자의 속도를 설정합니다."}]

[{"index":"boolean PlayOnEnable (Sync)","0":"파티클 컴포넌트가 Enable일 때, 파티클을 재생할지 여부를 설정합니다."}]

[{"index":"float PlaySpeed (Sync)","0":"파티클 재생 속도를 설정합니다."}]

[{"index":"boolean Prewarm (Sync)","0":"값이 true일 경우 파티클이 처음 재생될 때 이미 재생되고 있었던 것과 같은 상태로 시작합니다."}]

[{"index":"integer RandomSeed (Sync)","0":"파티클이 재생될 때의 생성 위치, 방출 방향, 속도 등을 결정하기 위해 사용하는 랜덤 시드를 설정합니다."}]

[{"index":"string SortingLayer (Sync)","0":"2개 이상의 엔티티가 겹쳤을 때 Sorting Layer에 따라 보이는 우선순위가 결정됩니다."}]

##### inherited from Component:

[{"index":"boolean Enable (Sync)","0":"컴포넌트 활성화 여부를 확인합니다."}]

[{"index":"boolean EnableInHierarchy (ReadOnly) (HideFromInspector)","0":"계층 구조상에서 이 컴포넌트가 Enable 상태인지를 반환합니다. Enable이 true일지라도 엔티티의 Enable이 false라면 false를 반환합니다."}]

[{"index":"Entity Entity (ReadOnly)","0":"이 컴포넌트를 소유한 엔티티입니다."}]

# Methods

##### inherited from BaseParticleComponent:

[{"index":"void Play()","0":"파티클을 재생합니다."}]

[{"index":"void Stop()","0":"파티클 재생을 멈춥니다."}]

##### inherited from Component:

[{"index":"boolean IsClient()","0":"현재 실행 환경이 클라이언트인지 아닌지의 여부를 반환합니다."}]

[{"index":"boolean IsServer()","0":"현재 실행 환경이 서버인지 아닌지의 여부를 반환합니다."}]

# Events

[{"index":"OrderInLayerChangedEvent","0":"Component의 OrderInLayer가 변경되었을 때 발생하는 이벤트입니다."}]

[{"index":"ParticleEmitEndEvent","0":"파티클의 방출이 종료되었을 때 BaseParticleComponent에서 발생하는 이벤트입니다."}]

[{"index":"ParticleEmitStartEvent","0":"파티클 입자 방출이 시작될 때 발생하는 이벤트입니다."}]

[{"index":"ParticleLoopEvent","0":"Loop 프로퍼티가 활성화 된 경우, 파티클의 방출 주기가 돌아와서 방출을 반복할 때 발생하는 이벤트입니다."}]

[{"index":"SortingLayerChangedEvent","0":"컴포넌트의 SortingLayer가 변경되었을 때 발생하는 이벤트입니다."}]

# Examples

파티클을 재생, 정지시키고 `AreaSize`를 조절하는 예제입니다.
    
    
    @Component
    script ParticleController extends Component
        property any ParticleComponent = nil
    
        @ExecSpace("ClientOnly")
        method void OnBeginPlay()
        self.ParticleComponent = self.Entity.AreaParticleComponent	 
        self.ParticleComponent.AreaSize.x = _UtilLogic:RandomDouble() * 2
        self.ParticleComponent.ParticleCount = 2
        end
    
        @EventSender("Service", "InputService")
        handler HandleKeyDownEvent(KeyDownEvent event)
        ----------------- Native Emitter Info ------------------
        -- Emitter: InputService
        -- Space: Client
        --------------------------------------------------------
    
        -- Parameters
        local key = event.key
        --------------------------------------------------------
        if key == KeyboardKey.Q then
        	self.ParticleComponent:Stop()
        elseif key == KeyboardKey.E then
        	self.ParticleComponent:Play()
        end
        end
    end
    

# SeeAlso

  * KeyboardKey
  * UtilLogic
  * InputService
  * ParticleService
  * [파티클 사용하기](/docs?postId=1036)
  * [파티클 활용하기](/docs?postId=764)