이벤트 및 이벤트 핸들러 개요

이 페이지에는 나이아가라에서의 이벤트 및 이벤트 핸들러 활용에 대한 기본적인 정보를 제공합니다.

Windows
MacOS
Linux

대부분의 경우에는 시스템 하나에서 여러 개의 이미터를 사용해 서로 상호작용하여 원하는 효과를 만들어야 할 수 있습니다. 이 경우에는 보통 이미터 하나가 데이터 일부를 생성하고, 다른 이미터가 이 데이터를 리스닝한 다음에 해당 데이터에 대한 반응으로 비헤이비어를 수행하게 됩니다. 나이아가라에서는 이 기능이 이벤트(Events)이벤트 핸들러(Event Handlers) 로 구현됩니다. 이벤트(Events) 는 파티클의 수명 동안 발생하는 특정 이벤트를 생성하는 모듈입니다. 이벤트 핸들러(Event Handlers) 는 이렇게 생성된 이벤트를 리스닝한 다음에 해당 이벤트에 대응하는 비헤이비어를 시작하는 모듈입니다.

이벤트는 현재 GPU 시뮬레이션과는 함께 작동하지 않고 CPU 시뮬레이션과만 함께 작동합니다.

이벤트

이벤트를 사용하려면 해당 이미터의 Emitter Properties(이미터 프로퍼티)에서 Requires Persistent IDs(퍼시스턴트 ID 필요)를 활성화해줘야 합니다.

위치 이벤트

위치 이벤트 생성(Generate Location Event) 모듈을 이미터의 파티클 업데이트 그룹에 배치했다면 해당 이미터에서 스폰된 파티클 각각이 자신의 수명 동안 위치 데이터를 생성합니다. 그런 다음 이벤트 핸들러가 위치 데이터를 받고 또 다른 비헤이비어를 발동하도록 설정할 수 있습니다. 예를 들어 폭죽의 트레일 이펙트를 생성하려면 위치 이벤트 생성(Generate Location Event) 모듈을 로켓 이미터의 파티클 업데이트 그룹에 배치하면 됩니다. 이렇게 하면 트레일 이미터가 로켓의 위치 데이터를 사용하여 그 뒤를 따르는 파티클을 스폰할 수 있습니다.

이미지를 클릭하면 전체 크기로 확대됩니다.

소멸 이벤트

소멸 이벤트 생성(Generate Death Event) 모듈을 이미터의 파티클 업데이트 그룹에 배치했다면 해당 이미터에서 스폰된 파티클 각각은 자신의 수명이 끝날 때 이벤트를 생성합니다. 이 데이터를 사용하는 방법은 다양합니다. 첫 이미터의 파티클이 소멸할 때 다른 이미터의 파티클 이펙트를 발동시킬 수도 있고 또는 각 이미터가 이전 이미터 파티클 소멸 시 자신의 이펙트를 스폰하는 연쇄 반응을 생성할 수도 있습니다. 위치와 소멸 이벤트를 조합하여 복잡한 상호작용을 생성할 수도 있습니다. 폭죽 예시를 사용하려면 로켓 파티클의 수명이 끝나는 시점에서 폭발 이펙트를 생성하여 스폰할 수 있습니다. 위치 이벤트는 로켓 파티클의 위치, 즉 폭발이 일어날 위치를 결정합니다. 소멸 이벤트는 파티클의 수명이 끝나는 시점, 즉 폭발 이펙트가 스폰될 시점을 결정합니다.

이미지를 클릭하면 전체 크기로 확대됩니다.

콜리전 이벤트

콜리전 이벤트 생성(Generate Collision Event) 모듈을 이미터의 파티클 업데이트 그룹에 배치했다면 파티클은 스태틱 메시나 스켈레탈 메시 등의 액터와 충돌할 때 이벤트를 생성합니다. 예를 들어 폭죽 이펙트를 무기 이펙트로 변경하고 싶다면 로켓 파티클이 스태틱 또는 스켈레탈 메시와 충돌할 때 폭발을 스폰하도록 할 수 있습니다.

이미지를 클릭하면 전체 크기로 확대됩니다.

우선 콜리전(Collision) 모듈을 이미터에 추가해야 콜리전 이벤트 생성(Generate Collision Event) 을 해당 이미터에 추가할 수 있습니다. 이렇게 하면 이미터의 파티클이 월드의 오브젝트와 충돌할 수 있게 됩니다.

이벤트 핸들러

이벤트 핸들러는 두 부분으로 구성되어 있습니다: 바로 이벤트 핸들러 프로퍼티(Event Handler Properties)이벤트 수신(Receive Event) 입니다. 이미터가 대응해야 하는 각 이벤트마다 이벤트 핸들러 프로퍼티(Event Handler Properties) 항목과 이벤트 수신(Receive Event) 모듈을 추가해야 합니다.

이벤트 핸들러 프로퍼티(Event Handler Properties) 에서는 사용할 수 있는 모든 이벤트 생성 모듈이 나열된 드롭다운으로 이벤트의 소스(Source) 를 설정합니다. 그런 다음 이벤트에 영향을 받을 파티클과 프레임별로 이벤트가 발생할 횟수를 선택할 수 있으며, 이벤트가 파티클을 스폰할 경우 얼마나 많이 스폰될지 선택할 수 있습니다.

이미지를 클릭하면 전체 크기로 확대됩니다.

이벤트 핸들러의 프로퍼티를 설정한 후, 이벤트 생성 이미터의 파티클 업데이트 그룹에 배치했던 생성된 이벤트 모듈과 일치하는 이벤트 수신을 선택합니다.

이미지를 클릭하면 전체 크기로 확대됩니다.

예를 들어 위치 이벤트 생성(Generate Location Event) 을 이미터에 배치했다면 이벤트 핸들러의 위치 이벤트 수신(Receive Location Event) 모듈을 선택합니다.

이미지를 클릭하면 전체 크기로 확대됩니다.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback