TA: 나이아가라 시스템(Niagara System)
TA: 나이아가라 시스템(Niagara System)
언리얼에서 기존에 제공되던 캐스케이드(Cascade) 시스템을 잇는 다음세대 VFX시스템이 나이아가라(Niagara)다. 폭포라는 뜻에 이어 상징성 큰 폭포인 나이아가라를 따와서 지은 차세대 시스템 답게 더 많은 기능, 복잡한 이펙트를 제공한다.
- 파라미터를 나이아가라 내부에서 선언하고 블루프린트를 통해 손쉽게 전달할 수 있다.
- 스켈레탈 메쉬같은 게임 데이터에 직접적인 접근이 가능하다.
- 파티클의 충돌같은 이벤트에 따른 로직을 생성할 수 있다.
- GPU연산으로 다량의 파티클을 다루는데 더 원활하다. 레거시 프로젝트를 다루는게 아니라면, 캐스캐이드는 이제 거의 쓸일이 없고 나이아가라를 주로 쓰게된다. 사용법 자체가 어렵다기 보단 주어진 기능을 어떻게 다양하게 활용할 수 있는지에 대한 경험과 감각이 더 많은 영향을 미치는 듯 하다.
이미터(Emitter)
파티클을 발생시키는 단위를 이미터라고 부른다. 이미터 안에서는 어떤 파티클을 만들고 얼마나 많이, 어떤색으로, 어떤방향으로, 얼마동안 발생시킬지등 다양한 조건과 상태를 설정할 수 있다. 핵심적으로 많이 쓰는 그룹들을 살펴보노라면 다음과 같다.
- Emitter Spawn - 이미터가 스폰되는 시점에 CPU에서 호출될 모듈들이 배치된다.
- Emitter Update - 지속적으로 이미터에서 변화시켜야 하는 모듈들이 배치된다.
- Particle Spawn - 이미터가 발생시킬 파티클이 소환될 때 정해지는 모듈들이 배치된다. 즉 파티클이 스폰될 때 1번씩 호출된다.
- Particle Update - 파티클이 소환된 이후 변화되는 모듈들이 배치된다. 소환 이후에 지속적으로 적용되는 모듈들인 중력, 바람, 색상, 노이즈등이 배치될 수 있다.
- Render - 파티킬이 어떻게 보일지를 결정한다. 스프라이트, 리본등 어떤 파티클을 소환할지와 어떤 머티리얼을 사용할지등을 정한다.
이런 이미터를 여러가지 조합해 많은 효과를 만들어낸다. 안개부터 무기의 궤적, 폭팔, 화염, 번개등 다양한 VFX를 설정과 구성에 따라 만들어낼 수 있다.
모듈(Module)
이펙트의 기본적인 빌딩 블록들로 이미터와 파티클의 동작을 나타내는 기능들을 가지고 있다. 파티클의 스폰 방식, 주기, 수명, 속도, 색상, 움직임, 노이즈등 여러가지가 있으며, 모듈마다 특정 그룹에는 배치가 안 될 수도 있다. 기본적으로 위에서 아래쪽 순서로 실행되어, 어떤 경우에는 이 순서에 따라 이미터의 모습이 크게 달라질 수도 있다.
나이아가라 시스템 스폰
기존의 캐스캐이드, 아니면 사운드의 재생과 마찬가지로 나이아가라 시스템의 재생 월드에 소환하는 형태이다. SpawnSystemAtLocation(), SpawnSystemAttached()로 재생할 수 있는데, 컴포넌트나 참조로 재생중인 인스턴스를 저장해놓지 않으면 재생 도중인 혹은 반복재생하는 나이아가라를 중단할 수 없다.
This post is licensed under CC BY 4.0 by the author.