본문 바로가기

DXWave/나이이가라

나이아가라 불꽃놀이

1. 폭죽 머티리얼 및 나이아가라 이미터 생성 폭죽 머티리얼을 생성하고 나이아가라 이미터를 추가하여 자신만의 폭죽을 제작하는 방법을 살펴봅니다. 

1. 폭죽 머티리얼 및 나이아가라 이미터 생성 이 섹션에서는 이미시브 이펙트를 사용하여 폭죽 머티리얼을 생성하는 방법을 살펴봅니다. 

이 특수한 머티리얼은 스프라이트를 작은 라이트처럼 보이게 만들어 줍니다. 

머티리얼이 준비된 후에는 폭죽을 구성하는 모든 모듈을 포함하는 이미터를 생성해 보겠습니다. 

폭죽 머티리얼 생성하기 이 효과를 생성하려면 먼저 폭죽의 기반이 되는 커스텀 머티리얼을 생성해야 합니다. 

광선이 원에 초점을 맞춘 손전등 광선 이미지를 찾습니다. 

.jpg 파일로 저장하고 UEFN으로 임포트합니다. 

Example of a flashlight beam 손전등 광선 예시입니다. 

이제 머티리얼을 생성할 준비가 되었습니다. 

콘텐츠 브라우저(Content Browser) 에서 Materials 폴더를 생성하고 해당 폴더를 더블클릭하여 엽니다.  Create a materials folder. 콘텐츠 브라우저 내부를 우클릭하고 드롭다운 메뉴에서 머티리얼(Material) 을 선택합니다. 머티리얼의 이름을 Firework 로 짓습니다. Name the material. 머티리얼 섬네일을 더블클릭하여 '머티리얼 에디터(Material Editor)'를 엽니다.

 

'머티리얼 에디터' 내에서 우클릭하고 다음 노드를 검색합니다.

Texture Sample 노드 Particle Color 노드 2 X Multiply 노드 Texture Sample 노드를 선택하고 디테일(Details) 패널의 텍스처(Texture) 에 손전등 머티리얼을 추가합니다.

Texture Sample 노드의 RGB 출력 핀을 드래그하여 첫 번째 Multiply 노드의 B 입력에 연결합니다.

Texture Sample 노드의 RGBA 출력 핀을 드래그하여 두 번째 Multiply 노드의 B 입력에 연결합니다.

Particle Color 노드의 RGB 출력 핀 에서 드래그하여 첫 번째 Multiply 노드의 A 입력에 연결합니다.

Particle Color 노드의 RGBA 출력 핀 에서 드래그하여 두 번째 Multiply 노드의 A 입력에 연결합니다.

The configuration of nodes to create the firework material. 디테일 패널에서 메인 머티리얼 노드 를 선택하고 블렌드 모드(Blend Mode) 세팅을 애디티브(Additive) 로 변경한 다음 셰이딩 모델(Shading Model) 을 언릿(Unlit) 으로 설정합니다.

Change the Main Material Node settings in the Details panel. 첫 번째 Multiply 노드에서 드래그하여 메인 머티리얼 노드 의 이미시브 컬러(Emissive Color) 입력에 연결합니다. 두 번째 Multiply 노드에서 드래그하여 메인 머티리얼 노드 의 오파시티(Opacity) 입력에 연결합니다.

적용(Apply) > 저장(Save) 을 클릭하여 머티리얼을 저장합니다.

 

The Multiply nodes should be plugged into the Main Material node to finish making the firework material. 이펙트 제작 폭죽의 헤드, 트레일, 폭발 등 모든 부분에 대한 이미터 모듈을 직접 생성합니다.

먼저 나이아가라 시스템을 생성하고 시스템 에디터(System Editor) 에서 이미터를 추가하여 전체 이펙트를 생성합니다.

콘텐츠 브라우저 에서 Fireworks 폴더를 생성합니다. Effects folder entitled Fireworks Fireworks 폴더를 더블클릭하고 해당 폴더의 콘텐츠 브라우저 를 우클릭하고 드롭다운 메뉴에서 나이아가라 시스템(Niagara System) 을 선택합니다.

Create Niagara system. 선택된 이미터에서 새 시스템 생성(New system from selected emitter(s)) 을 선택하고 다음(Next) 을 선택합니다. 이미터 템플릿 드롭다운 메뉴가 열립니다.

Create a new system. 메뉴에서 공백(Empty) 을 선택하고 더하기 모양의 아이콘을 클릭하고 완료(Finish) 를 클릭합니다.

Create a Directional Burst emitter. 에셋의 이름을 Fireworks 로 변경합니다.

The effect thumbnail. 이펙트 섬네일을 더블클릭합니다.

빈 이미터 템플릿이 포함된 시스템 에디터 가 열립니다. 이미지를 클릭하면 확대됩니다. 빈 이미터를 우클릭하고 드롭다운 메뉴에서 이름변경(Rename) 을 선택합니다. 빈 이미터의 이름을 Head 로 변경합니다. 이렇게 하면 폭죽의 다른 부분을 구분하는 데 도움이 됩니다. Rename the emitter Head

이제 첫 번째 이미터에 모듈을 추가하여 폭죽의 헤드를 생성할 준비가 되었습니다.

 

2. 폭죽 헤드 제작하기 

실제 폭죽과 같이 모든 부위가 작동하는 폭죽 헤드를 제작하는 방법을 살펴봅니다. 

2. 폭죽 헤드 제작하기 폭죽의 헤드를 제작하여 불꽃놀이를 시작해보겠습니다. 

이 이미터는 다른 이미터를 구동하고 이벤트를 통해 다른 이미터에 이벤트 정보를 전송하여 효과 단계 중 특정 시간에 작동하도록 신호를 보냅니다. 

빈 이미터에서 프로퍼티(Properties) 를 클릭하면 디테일(Details) 패널에 빈 이미터의 프로퍼티가 표시됩니다. 퍼시스턴트 ID 필요(Requires Persistent IDs) 를 활성화합니다.  이벤트를 제너레이트하는 이미터에만 필요합니다.

이 예제에서 필수 ID를 사용하면 다른 이미터가 이 이미터의 파티클을 안정적으로 레퍼런스하는 데 도움이 됩니다.


이미터 업데이트 이미터 업데이트(Emitter Update) 모듈은 CPU에서 매 이미터 틱 시 발생합니다. 

이 그룹의 모듈은 해당 프레임에서 '파티클 스폰(Particle Spawn)' 또는 '파라미터 업데이트(Update Parameters)' 값을 계산해야 합니다. 모듈은 스택의 위쪽에서 아래쪽 순서로 실행됩니다. 이러한 세팅은 스폰되는 이펙트의 수와 이펙트가 스폰되는 횟수를 결정합니다. 이미터 업데이트 그룹을 선택하면 디테일 패널에서 이미터 업데이트 모듈 세팅이 열립니다. 이미터 업데이트 옆에 있는 더하기 모양의 아이콘을 클릭하고 드롭다운 메뉴에서 즉시 버스트 스폰(Spawn Burst Instantaneous) 을 선택합니다.  디테일 패널에서 즉시 버스트 스폰 세팅이 자동으로 열립니다. 스폰 수(Spawn Count) 세팅이 1 로 설정되어 있는지 확인합니다. 그러면 이미터가 한 번에 하나의 파티클을 스폰합니다.

 파티클 스폰 파티클 스폰 모듈은 생성된 파티클마다 한 번씩 발생합니다. 이 섹션의 모듈은 파티클별 초기 값을 구성합니다. 보간 스포닝 사용(Use Interpolated Spawning) 이 설정되어 있는 경우 '파티클 스폰' 모듈은 '파티클 업데이트(Particle Update)' 단계가 아닌 '스폰(Spawn)' 단계에서 업데이트됩니다. 모듈은 스택의 위쪽에서 아래쪽 순서로 실행됩니다. 이러한 세팅은 파티클이 스폰될 때 파티클이 어떻게 보일지 이미터에 알려줍니다.

파티클 스폰 > 파티클 초기화(Initialize Particle) 를 선택하면 디테일 패널에서 파티클 초기화 모듈 세팅이 열립니다. 수명 모드(Lifetime Mode) 를 랜덤(Random) 으로 설정합니다. 이렇게 하면 파티클이 다양한 시간 동안 지속됩니다. 수명 최소(Lifetime Minimum) 값을 2.0 으로 변경합니다. 수명 최대(Lifetime Maximum) 값을 3.0 으로 변경합니다. 최소 값과 최대 값은 파티클 수명의 랜덤 값을 결정합니다.

 

컬러 모드(Color Mode) 를 직접 설정(Direct Set) 으로 설정하여 랜덤 스프라이트의 컬러 팔레트를 선택합니다. 컬러(Color) 옆에 있는 빈 박스를 더블클릭하여 색 선택 툴(Color Picker) 을 엽니다. 색상환의 중앙에 있는 원을 이동하여 헤드와 트레일의 컬러를 선택합니다. V 값을 50.0 으로 설정합니다. 이렇게 하면 파티클의 컬러에 이미시브 값이 추가됩니다. 확인(OK) 을 클릭하여 스프라이트의 컬러를 설정합니다. 스프라이트 어트리뷰트(Sprite Attributes) 까지 아래로 스크롤합니다. 스프라이트 크기 모드(Sprite Size Mode) 를 비균등(Non-Uniform) 으로 설정합니다. 스프라이트 크기 X(Sprite Size X) 값을 3.0 으로, 스프라이트 크기 Y(Sprite Size Y) 값을 30.0 으로 변경합니다. 이렇게 하면 길쭉한 비균등 파티클이 생성됩니다.

Change Sprite Attributes under Sprite Size.

 

파티클 스폰 옆에 있는 더하기 모양의 아이콘을 클릭하고 드롭다운 메뉴에서 속도 추가(Add Velocity) 를 선택합니다. 속도 추가 를 선택하면 파티클이 위쪽으로 이동합니다. 이 세팅은 파티클 업데이트(Particle Update) 모듈에 포스 및 속도 솔브(Solve Forces and Velocity) 를 추가할 때까지 오류 메시지를 발생시킵니다. 오류 메시지의 문제 수정(Fix Issue) 을 클릭하면 누락된 그룹을 파티클 업데이트 이미터에 자동으로 추가하여 오류 메시지를 해결합니다. 속도 모드(Velocity Mode) 를 In 원뿔(In Cone) 로 설정합니다. 이렇게 하면 스프라이트가 역삼각형 모양으로 위쪽으로 날아갑니다. 속도 속력(Velocity Speed) 필드에서 아래쪽 화살표를 클릭하고 드롭다운 메뉴에서 랜덤 범위 플로트(Random Range Float) 를 선택합니다. 이렇게 하면 파티클이 랜덤 속력으로 공중으로 이동합니다. 최소(Minimum) 값을 2500 으로 변경하고 최대(Maximum) 값을 3000 으로 변경합니다. 원뿔 축을 따라 분포(Distribution Along Cone Axis) 를 활성화하고 값을 0.2 로 설정합니다.

Change the Velocity Mode settings. 원뿔 축(Cone Axis) 값을 다음과 같이 변경합니다. X = 0 Y = 0 Z = 1 이렇게 하면 파티클이 똑바로 위로 발사됩니다.

Change the axis settings on Cone Axis

. 원뿔 각도(Cone Angle) 를 50.0 으로 설정하여 폭죽이 퍼지는 정도를 조정합니다. 파티클 업데이트 파티클 업데이트 모듈은 프레임마다 파티클별로 호출됩니다. 이 섹션의 모듈은 이 프레임의 새 값을 업데이트해야 합니다. 모듈은 스택의 위에서 아래 순서로 실행됩니다. 이것은 파티클이 어떻게 행동할지 이미터에 알려줍니다. 파티클 업데이트 옆에 있는 더하기 모양의 아이콘을 클릭하고 드롭다운 메뉴에서 드래그(Drag) 를 선택합니다. 드래그 세팅이 디테일 패널에서 열립니다. 이 세팅은 오류 메시지를 발생시킵니다. 오류 메시지의 문제 수정(Fix Issue) 을 클릭하면 누락된 그룹을 파티클 업데이트 이미터에 자동으로 추가하여 오류 메시지를 해결합니다. 드래그 옆에 있는 아래쪽 화살표를 클릭하고 드롭다운 메뉴에서 랜덤 범위 플로트 를 선택합니다. 이렇게 하면 파티클에 저항이 추가됩니다. 드래그는 파티클이 떨어질 때 파티클에 랜덤 저항과 중력을 추가합니다. 최소 값을 0.8 로 변경하고 최대 값을 1.2 로 변경합니다.

이렇게 하면 폭죽이 하늘로 올라가는 것처럼 파티클이 더 천천히 공중으로 올라갑니다. 회전 드래그(Rotational Drag) 를 비활성화합니다.

파티클 업데이트 옆에 있는 더하기 모양의 아이콘을 클릭하고 이벤트(Events) > 위치 이벤트 생성(Generate Location Event) 을 선택합니다. 그러면 이 이미터의 파티클에 대한 위치 등의 데이터를 전송하는 이벤트가 생성되어 나중에 다른 이미터에서 수신하거나 읽을 수 있습니다.

파티클 업데이트 옆에 있는 더하기 모양의 아이콘을 클릭하고 이벤트(Events) > 소멸 이벤트 생성(Generate Death Event) 을 선택합니다. 이 이미터의 소멸 이벤트는 폭발 이미터가 활성화되도록 신호를 보냅니다.

위치 이벤트(Location Events) 는 이벤트가 발생하고 있는 위치이며, 다른 이미터에 이벤트를 따르도록 신호를 보냅니다. 소멸 이벤트(Death Events) 는 파티클의 수명이 수명(이 튜토리얼의 '파티클 초기화'에서 설정)을 초과할 때 트리거되며, 다른 이미터에 이미터 단계를 시작하도록 신호를 보냅니다.

렌더러 나이아가라 렌더러는 언리얼 엔진이 스폰된 각 파티클을 표시할 방식을 설명합니다. 이는 시각적일 필요가 없습니다. 모듈과 달리 스택에서의 렌더러 배치는 드로 순서와 반드시 연관되어 있는 것은 아닙니다. 게임에서 스프라이트가 렌더링되는 방식을 정의합니다. 렌더러(Renderer) > 스프라이트 렌더러(Sprite Renderer) 를 선택하여 디테일 패널에서 스프라이트 렌더러 세팅을 엽니다.

머티리얼(Material) 드롭다운 메뉴에서 생성한 Firework 머티리얼을 선택합니다. 정렬(Alignment) 을 속도 정렬(Velocity Aligned) 로 설정합니다. 속도 정렬은 파티클이 속도 벡터의 방향을 향하도록 회전합니다. 

이 튜토리얼에서는 '속도 추가' 모듈에서 파티클이 솟아오를 때 파티클이 위를 가리키지만, '파티클 업데이트'에 중력을 추가하면 해당 스프라이트는 결국 회전하여 떨어질 때 아래를 향하게 됩니다. 이제 폭죽의 헤드는 폭죽의 다른 이미터나 각종 부위를 구동시킬 준비가 되었습니다. 이제 폭발 직전까지 헤드의 뒤로 궤적을 그릴 트레일을 제작할 수 있습니다.

 

3. 폭죽 트레일 만들기 폭죽의 트레일 이펙트를 제작하는 방법을 살펴봅니다. 

3. 폭죽 트레일 만들기 첫 번째 빈 이미터를 복사하여 폭죽의 트레일을 생성하고 트레일 효과를 생성하는 데 필요한 모듈을 추가할 수 있습니다. 한 번에 하나의 이미터에 집중하려면 파란색 확인 표시를 클릭하고 작동 중인 이미터를 선택한 상태로 둬서 여러 이미터를 끌 수 있습니다. The blue checkmark 여러 이미터를 선택하고 우클릭한 후 드롭다운 메뉴에서 활성화(Enable), 비활성화(Disable) 또는 단독 표시(Isolate) 를 선택하면 '시스템 에디터(System Editor)'에서 작업하는 동안 특정 이미터를 꺼서 하나의 이미터에 집중할 수 있습니다.

 이펙트 편집에 필요한 창이나 패널을 실수로 닫은 경우, 창(Windows) 메뉴에서 모든 창과 패널을 찾을 수 있습니다. 이미터에 문제나 오류 메시지가 있는 경우, 모든 문제와 오류는 나이아가라 로그(Niagara Log) 또는 출력 로그(Output Log) 에 캡처됩니다. 이 로그에서 이펙트의 문제나 오류의 원인을 확인할 수 있습니다. 

첫 번째 빈 이미터 스택(헤더가아님)을 선택하고 우클릭합니다. 드롭다운 메뉴에서 복사(Copy) 를 선택합니다. 시스템 에디터 에서 우클릭하고 드롭다운 메뉴에서 붙여넣기(Paste) 를 선택합니다. 새 이미터를 선택합니다. 이미터 이름을 클릭하고 Trail 로 변경합니다. 이벤트 핸들러 이벤트 핸들러를 추가하면 이미터 스택이 이벤트를 직접 바인딩하고 일련의 이벤트 중에 이미터를 설정할 수 있습니다. 

이미터 스택에서 + 단계(+ STAGE) 버튼을 클릭하고 드롭다운 메뉴에서 이벤트 핸들러(Event Handler) 를 선택합니다. 

이벤트 핸들러 세팅이 디테일(Details) 패널에서 자동으로 열립니다. Create an Event Handler module. 헤드(Head) > 소스(Source) 필드에 있는 드롭다운 메뉴에서 위치 이벤트(Location Event) 를 선택합니다. 

. 실행 모드(Execution Mode) 필드의 드롭다운 메뉴에서 스폰된 파티클(Spawned Particles) 을 선택합니다. 이것은 이벤트 처리의 결과로 파티클을 스폰할지 여부를 제어합니다. 스폰 수(Spawn Number) 를 10 으로 설정합니다. 이것은 헤드 파티클을 따르는 파티클의 수를 결정합니다.  This refers to the empty emitter to spawn. 

이벤트 핸들러 모듈 옆에 있는 더하기 모양의 아이콘을 클릭하고 드롭다운 메뉴에서 위치 이벤트 수신(Receive Location Event) 을 선택합니다.  위치 이벤트 수신 세팅이 디테일 패널에서 자동으로 열립니다. 속도(벡터2)(Velocity(Vector2)) 필드의 드롭다운 메뉴에서 적용(Apply) 을 선택합니다. 이것은 헤드 빈 이미터의 위치를 따릅니다. 상속된 속도 스케일(Inherited VelocityScale) 옆에 있는 아래쪽 화살표를 클릭하고 드롭다운 메뉴에서 랜덤 범위 플로트(Random Range Float) 를 선택합니다. 최소(Minimum) 값을 -0.5 로 설정합니다. 최대(Maximum) 값을 -0.1 로 설정합니다. 음수 값은 폭죽을 반대 방향으로 확장합니다.

Change the Velocity settings. 컬러(선형 컬러)(Color(Linear Color)) 필드의 드롭다운 메뉴에서 적용 을 선택합니다. 이 이미터에서 스폰된 파티클의 컬러를 따르는 다른 이미터의 파티클 컬러로 설정합니다. 

Change the Color settings.

이미터 업데이트 이미터 업데이트(Emitter Update) 모듈 아래에서 즉시 버스트 스폰(Spawn Burst Instantaneous) 을 선택하고 Delete 키를 눌러 이미터 업데이트 모듈에서 해당 프로퍼티를 삭제합니다.

 

파티클 스폰

이러한 세팅은 파티클이 스폰될 때 파티클이 어떻게 보일지 결정합니다. 파티클 스폰(Particle Spawn) 모듈 아래에서 속도 추가(Add Velocity) 를 선택하고 Delete 키를 눌러 파티클 스폰 모듈에서 해당 프로퍼티를 삭제합니다.

파티클 초기화(Initialize Particle) 를 선택하여 디테일(Details) 패널에서 파티클 초기화 세팅을 엽니다. 수명 최소 값을 0.5 로, 수명 최대 값을 1.5 로 변경합니다.

컬러 모드 를 설정 해제(Unset) 로 변경합니다. 

Set the lifetime for the spawned particles.

스프라이트 어트리뷰트(Sprite Attributes) 에서 스프라이트 크기 모드(Sprite Size Mode) 값을 다음으로 변경합니다. X = 3.0 Y = 30.0 

Change the Sprite Size values.

파티클 업데이트 이러한 세팅은 파티클의 수명 동안 어떻게 행동할지 알려줍니다. 파티클 업데이트(Particle Update) 모듈 아래에서 드래그(Drag) 를 선택하고 Delete 키를 눌러 파티클 업데이트 모듈에서 해당 프로퍼티를 삭제합니다.

파티클 스폰 모듈 아래에서 위치 이벤트 생성(Generate Location Event) 을 선택하고 Delete 키를 눌러 파티클 스폰 모듈에서 해당 프로퍼티를 삭제합니다.

파티클 스폰 모듈 아래에서 소멸 이벤트 생성(Generate Death Event) 을 선택하고 Delete 키를 눌러 파티클 스폰 모듈에서 해당 프로퍼티를 삭제합니다.

이 이미터는 신호를 보내는 것이 아니라 이벤트를 수신해야 하므로 이 모듈은 필요하지 않습니다.

파티클 업데이트

옆에 있는 더하기 모양의 아이콘을 클릭하고 드롭다운 메뉴에서 컬 노이즈 포스(Curl Noise Force) 를 선택합니다. 디테일 패널에서 컬 노이즈 포스 옵션이 열립니다. 노이즈 강도(Noise Strength) 값을 500 으로 변경합니다. 노이즈 주파수(Noise Frequency) 값을 50 으로 변경합니다. 컬 노이즈는 폭죽 파티클의 트레일에 진동 움직임을 추가합니다. 

Add Curl Noise Forcesettings.

프리뷰 창의 폭죽 효과는 폭죽 헤드와 트레일이 함께 작동하는 방식을 보여줍니다.

 

4. 첫 번째 폭죽 폭발 이펙트 제작하기 

작은 스프라이트 파티클을 생성하는 첫 번째 폭죽 폭발 이펙트를 제작하고 컬러를 적용하는 방법을 살펴봅니다. 

4. 첫 번째 폭죽 폭발 이펙트 제작하기 폭죽이 폭발할 때 보이는 모양을 모방한 파티클에 원형 셰이프를 추가하여 불꽃의 끝에서 화려한 폭발을 생성합니다. 첫 번째 빈 이미터 스택을 선택하고 우클릭합니다. 드롭다운 메뉴에서 복사(Copy) 를 선택합니다. 시스템 에디터 에서 우클릭하고 드롭다운 메뉴에서 붙여넣기(Paste) 를 선택합니다. 이미터 이름을 더블클릭하고 Explosion 으로 변경합니다. 파티클 스폰 이러한 세팅은 파티클이 스폰될 때 파티클이 어떻게 행동할지 결정합니다. 

파티클 초기화(Initialize Particle) 를 클릭하여 디테일(Details) 패널에서 파티클 초기화 세팅을 엽니다. 

수명 최소(Lifetime Min) 값을 3.0 으로 변경합니다. 수명 최대(Lifetime Max) 값을 2.0 으로 변경합니다. 

컬러 모드(Color Mode) 를 설정 해제(Unset) 로 설정합니다. 파티클 업데이트 에서 폭발의 컬러를 설정합니다. 

 파티클 초기화 에서 스프라이트(Sprite) 를 클릭하여 스프라이트 어트리뷰트(Sprite Attributes) 세팅을 엽니다. 스프라이트 크기 모드(Sprite Size Mode) 를 균등(Uniform) 으로 설정합니다. 균등 스프라이트 크기(Uniform Sprite Size) 를 20.0 으로 변경합니다. 이것은 스폰되는 스프라이트의 크기를 설정합니다.

파티클 스폰(Particle Spawn) 모듈 세팅 옆에 있는 더하기 모양의 아이콘을 클릭하고 드롭다운 메뉴에서 속도 추가(Add Velocity) 를 선택합니다. 속도 추가 세팅이 디테일 패널에서 자동으로 열립니다. 속도 모드(Velocity Mode) 세팅을 포인트에서(From Point) 로 설정합니다. 이렇게 하면 폭발의 중심이 생성되고 파티클이 모든 방향으로 폭발하게 됩니다. 속도 속력(Velocity Speed) 필드에서 아래쪽 화살표를 클릭하고 드롭다운 메뉴에서 랜덤 범위 플로트(Random Range Float) 를 선택합니다. 이렇게 하면 랜덤 속도로 폭발이 일어납니다. 최소(Minimum) 값을 900.0 로 설정합니다. 최대(Maximum) 값을 1200.0 로 설정합니다. 최소 값과 최대 값은 파티클의 이동 속도를 결정합니다. 값이 클수록 파티클이 더 멀리 발사됩니다.

파티클 업데이트 이러한 세팅은 불꽃놀이 시퀀스 동안 파티클이 행동하는 방식과 그 안에서 작동하는 파라미터를 알려줍니다.

파티클 업데이트 옆에 있는 더하기 모양의 아이콘을 클릭하고 드롭다운 메뉴에서 드래그(Drag) 를 선택합니다.

파티클 업데이트 옆에 있는 더하기 모양의 아이콘을 클릭하고 드롭다운 메뉴에서 중력 포스(Gravity Force) 를 선택합니다. '중력 포스' 세팅이 디테일 패널에서 자동으로 열립니다. 드래그와 중력은 파티클이 떨어질 때 저항과 중력을 추가합니다. '중력' 세팅을 다음과 같이 변경합니다. X = 0.0 Y = 0.0 Z = -100.0

파티클 업데이트 옆에 있는 더하기 모양의 아이콘을 클릭하고 드롭다운 메뉴에서 컬러(Color) 를 선택합니다. '컬러' 세팅이 디테일 패널에서 자동으로 열립니다. 컬러(Color) 옆에 있는 빈 박스를 더블클릭하여 색 선택 툴(Color Picker) 을 엽니다. 색상환의 중앙에서 원을 이동하여 폭발에 사용할 컬러를 선택합니다. V 값을 50.0 으로 설정합니다. 파티클에 이미시브 컬러가 추가됩니다. 확인(OK) 을 클릭하여 스프라이트의 컬러를 저장합니다.

 

이벤트 핸들러

이벤트 핸들러를 추가하면 'Explosion' 이미터 스택이 이벤트에 직접 바인딩되고 신호가 오면 이벤트 체인에서 활성화됩니다. 이 이벤트 핸들러는 파티클이 소멸된 이벤트의 소스를 찾습니다. 이벤트 핸들러(Event Handler) 모듈 아래에서 위치 이벤트 수신(Event Handler) 을 선택하고 Delete 키를 눌러 위치 이벤트(Location Event) 모듈을 삭제합니다. 이 모듈은 위치 이벤트가 아닌 소멸 이벤트가 신호를 보낼 때 활성화되어야 합니다. 이벤트 핸들러 를 클릭하여 디테일 패널에서 이벤트 핸들러 세팅을 엽니다. 헤드(Head) > 소스(Source) 드롭다운 메뉴에서 소멸 이벤트(Death Event) 를 선택합니다. 이 이미터는 헤드 파티클의 사망 이벤트에 의해 신호를 받으면 활성화됩니다. 스폰 수(Spawn Number) 값을 500 으로 설정합니다. 이것은 이미터가 신호를 받을 때 스폰되는 파티클 수를 설정합니다.

폭죽이 폭발할 때의 모양에 따라 스폰 수 를 원하는 만큼 설정할 수 있습니다. 이벤트 핸들러 모듈 옆에 있는 더하기 모양의 아이콘을 클릭하고 드롭다운 메뉴에서 소멸 이벤트 수신(Receive Death Event) 을 선택합니다. '리셋(Reset)'이 여전히 '적용(Apply)'으로 설정되어 있다면 속도(벡터2)(Velocity(Vector2)) 필드에서 리셋 화살표를 선택하여 디폴트 값을 리셋합니다. 이제 이미터가 프리뷰 창에서 폭죽처럼 작동합니다. 마지막 단계는 다른 렌더 타입을 사용하여 또 다른 폭발을 생성하고 첫 번째 폭발의 스프라이트를 강화하는 것입니다. 다음 폭발 이미터를 생성하여 멋진 폭죽 이펙트를 만들어보겠습니다.

 

 

5. 두 번째 폭죽 폭발 이펙트 제작하기

 첫 번째 폭발 이펙트의 파티클에 이어 리본 파티클을 생성하는 두 번째 폭죽 폭발 이펙트를 제작하는 방법을 살펴봅니다. 

5. 두 번째 폭죽 폭발 이펙트 제작하기 

불꽃놀이가 끝날 때 화려한 폭발 이펙트의 파티클에 리본 이펙트를 추가하여 폭죽의 모양을 모방하여 시선을 끌 수 있는 방법을 살펴봅니다. 

헤더가 아닌 Explosion 이미터 스택을 선택하고 우클릭합니다. 드롭다운 메뉴에서 복사(Copy) 를 선택합니다. 시스템 에디터 에서 우클릭하고 드롭다운 메뉴에서 붙여넣기(Paste) 를 선택합니다. 시스템 에디터 가 복사된 이미터의 이름을 Explosion001 로 자동으로 변경합니다. 

첫 번째 Explosion 이미터를 선택합니다. 파티클 업데이트 옆에 있는 더하기 모양의 아이콘을 클릭하고 드롭다운 메뉴에서 위치 이벤트 생성 을 선택합니다. 이 이미터의 위치 이벤트는 Explosion001 이미터에 신호를 보내 해당 위치에 파티클을 생성합니다. 프로퍼티(Properties) 에서 퍼시스턴트 ID 필요(Requires Persistent IDs) 가 아직 활성화되어 있는지 확인합니다. 이 세팅은 Explosion001 이미터가 위치 이벤트를 찾을 수 있게 해 줍니다.

 Explosion001 이미터를 선택하여 최종 이미터에서 세팅을 변경하기 시작합니다.

 폭발 이미터를 복사하면 마지막 이미터가 이미 생성한 폭발하는 파티클의 경로를 따라가면서 이펙트를 완성하는 데 필요하지 않은 부분을 삭제합니다. 렌더러 이러한 세팅은 리본 이펙트가 스폰될 때 어떻게 보일지 설정합니다. 렌더러(Renderer) 모듈 아래에서 스프라이트 렌더러(Sprite Renderer) 를 선택하고 Delete 키를 눌러 렌더러 모듈에서 해당 프로퍼티를 삭제합니다. 렌더러 파티클을 리본 이펙트를 변경하고 있으므로 더는 필요하지 않습니다. 렌더러 옆에 있는 더하기 모양의 아이콘을 클릭하고 드롭다운 메뉴에서 리본 렌더러(Ribbon Renderer) 를 선택합니다. 리본 렌더러 세팅이 '디테일(Details)' 패널에서 자동으로 열립니다. 머티리얼(Material) 드롭다운 메뉴에서 생성한 Firework 머티리얼을 선택합니다.

파티클 스폰 스폰된 파티클의 행동을 설정하는 모듈입니다. 파티클 스폰(Particle Spawn) 모듈 아래에서 속도 추가(Add Velocity) 을 선택하고 Delete 키를 눌러 파티클 스폰 모듈에서 해당 프로퍼티를 삭제합니다. 파티클 초기화(Initialize Particle) 를 선택하여 디테일(Details) 패널에서 파티클 초기화 세팅을 엽니다. 수명 최소(Lifetime Min) 값을 0.3 으로 변경합니다. 수명 최대(Lifetime Max) 값을 0.5 으로 변경합니다.

스프라이트 크기 모드(Sprite Size Mode) 세팅을 설정 해제(Unset) 로 변경합니다. 이 이미터 스택에서 리본 파티클을 사용하기 때문에 이 값이 변경됩니다. 리본 폭 모드(Ribbon Width Mode) 드롭다운 메뉴에서 직접 설정(Direct Set) 을 선택합니다. 이것은 리본이 스폰될 때 리본의 폭 값을 설정합니다. 파티클 업데이트 불필요한 모듈이 어태치되지 않고 파티클이 예상대로 작동할 수 있도록 모듈 스택을 수정합니다.

드래그(Drag)  중력 포스(Gravity Force) 컬 노이즈 포스(Curl Noise Force) 를 선택하고 Delete 키를 눌러 파티클 업데이트 모듈에서 해당 프로퍼티를 삭제합니다.

이벤트 핸들러 이 이미터는 다른 이미터에서 신호를 받으면 실행됩니다. 이벤트 핸들러 모듈 아래에서 소멸 이벤트 수신 을 선택하고 Delete 키를 눌러 이벤트 핸들러 모듈에서 프로퍼티를 삭제합니다.

이벤트 핸들러 프로퍼티(Event Handler Properties) 를 선택하고 소스(Source) 옆의 아래쪽 화살표를 클릭하여 드롭다운 메뉴에서 Explosion > 위치 이벤트(Location Event) 를 선택합니다. 스폰 수 를 1 로 변경합니다. 이렇게 하면 리본 파티클 하나가 Explosion 이미터의 스프라이트 각각을 따라가게 됩니다.

이벤트 핸들러 옆에 있는 더하기 모양의 아이콘을 클릭하고 드롭다운 메뉴에서 위치 이벤트 수신(Receive Location Event) 을 선택합니다. 컴파일(Compile) > 저장(Save) 을 클릭하여 이미터를 저장합니다. 이미터 에디터(Emitter Editor) 를 닫고 이펙트를 '뷰포트(Viewport)'에 드래그 앤 드롭합니다.

전부 하나로 모으기 콘텐츠 브라우저(Content Browser) 에서 이펙트를 복사하여 붙여 넣고 이미터 스택의 폭죽 컬러를 편집하여 다양한 폭죽 컬러를 생성할 수 있습니다. VFX 생성 장치(VFX Spawner) 를 사용하여 플레이어가 목표를 완료할 때 생성한 폭죽을 스폰하거나 플레이어가 볼 수 있는 불꽃놀이 경험을 제작할 수 있습니다.

 

숙제 첫번째 빈 이미터가 죽으면 작은 불꽃이 터지게 합니다. 이건 첫번째 이미터에 Dead Event를 사용하면 됩니다.

 

 

 

 

'DXWave > 나이이가라' 카테고리의 다른 글

Fluid Gas Effect  (7) 2024.10.08
20241007 나영제  (0) 2024.10.07