지금 베타로 다운로드하세요
나이아가라는 현재 제작 단계에서 활용하기는 힘든 베타 상태이지만, 지금 그 여러가지 엄청난 기능을 시험해 보시기 바랍니다. 시작하기에 앞서, 플러그인 매니저를 통해 나이아가라 플러그인을 활성화해야 합니다.
이하 내용으로 나이아가라가 그 전신인 캐스케이드보다 뛰어난 점과, 어떤 작업이 가능한지에 대해 다룹니다.
나이아가라가 정확히 어떤 툴이고 왜 만들었나요?
고수준에서 나이아가라는 프로그래밍 가능한 가벼운 VFX 에디터로, 노드 기반 편집 및 생성은 물론 모듈식 VFX 스택으로 상속과 재사용이 쉽습니다. HLSL (High-Level Shading Language) 표현식, 스태틱/스켈레탈 메시 정보처럼 언리얼 파이프라인의 다른 부분에 대한 데이터 인터페이스를 지원하고, 시퀀서 타임라인같은 새로운 툴도 도입되어 있습니다.

나이아가라는 파티클 시스템 제작 단위인 파티클 이미터가 이제 한 파티클 시스템 내에서 서로 임의 연결되는 고유한 특성(attribute)을 가지게 되어, 고도의 커스터마이징이 가능합니다. 이로써 일정한 특징별로 파티클 특성에 인덱스를 붙여 VFX 시뮬레이션의 다양한 측면을 구동시킬 수 있습니다. 예를 들면, 동적 입력을 사용하여 가속도, 색, 크기, 방향과 같은 파티클 특성을 파티클 속도, 두 오브젝트 사이 거리, 스켈레탈 메시 위 본의 동작과 같은 임의 데이터에 연결할 수 있습니다. 에디터에 미리 구성된 모듈이 포함되어 있어 일반적인 파티클 특성 전부를 완벽 액세스할 수 있으며, 새로운 동작을 추가하는 것도 정말 간단합니다. 직접 만든 새 모듈은 재사용할 수 있어서 앞으로 다른 이펙트에 얼마든지 추가할 수 있습니다.
캐스케이드에서 나이아가라로 전환하는 경우, 파티클은 개별 특성을 모아둔 통(bucket)이라 생각하면 됩니다. 파티클의 색, 크기, 속도, 또는 파티클이 자신을 생성한 시스템에서 얼마나 벗어날 수 있는지와 같은 임의 특성 각각은 그냥 직접 설정할 수도 있고 시뮬레이션 또는 렌더링을 구동하기 위한 데이터로 활용할 수도 있는 툴이 됩니다. 나이아가라 에디터를 처음 시작한 아티스트는 벡터, 트랜스폼, 유닛 측정, 부울 원칙, "이런 일이 발생하면 저런 일이 발생한다"라는 간단한 논리의 흐름에 대해 생각할 필요가 있습니다. 다행히 이해하기 쉽고 접근성이 좋은 UI 로 이 모든 변수에 직접 대화할 수 있는 툴과 모듈을 제공합니다.
나이아가라에서는 이미터를 콘텐츠 브라우저에 저장할 수 있는 독립된 액터로 설계했습니다. 모듈식 워크플로로, 즉 다른 나이아가라 시스템을 만들 때 이 데이터를 공유할 수 있다는 뜻입니다. 만족스러운 스파크 샤워 이펙트를 한 번 만든 다음 다른 이미터에 얼마든지 재사용할 수 있습니다. 최적화가 조금 필요하다면? 그 소스 이미터를 수정하고, 필요한 경우 그 변경사항을 전체 프로젝트에 전파할 수도 있고, 수정하려는 시스템 하나에만 적용할 수도 있습니다. 일반적으로 광범위한 범위의 연관 데이터 편집이 보다 빠르고 간단해집니다.
비디오 편집 업계를 살짝 본따 나이아가라에도 시퀀서 타임라인을 도입했습니다. 앞뒤 스크러빙을 통해 이미터 상대 시간을 이동할 수 있는 시간순 프리뷰 메커니즘 역할을 합니다. 드래그를 통해 이펙트의 전반적인 속도를 비주얼 방식으로 제어하고, 스폰 또는 버스트 키프레임을 설정하며, 이미터 타이밍에 시차를 둘 수 있습니다. 원하는 FPS 를 조정하여 프레임을 일정 단위로 진행하면서 프리뷰 뷰프트를 통해 세밀한 관찰을 할 수도 있습니다.
구체적인 예제
에픽게임즈 런처의 언리얼 엔진 학습 탭의 나이아가라 콘텐츠 예제(Niagara Content Examples)에는 여러가지 나이아가라 시뮬레이션 예제가 들어있습니다. 스프라이트와 메시 렌더링, 특성 블렌딩, 표현식, 콜리전, 빔, 메시 리프로덕션, 이벤트 등 툴의 여러가지 다양한 측면을 보여줍니다.

시뮬레이션에서 임의 데이터를 사용하여 특성 블렌딩
위에서 언급했듯이 나이아가라는 근본적으로 특성을 담는 커다란 그릇입니다. 파티클별 특성(색, 크기)도 있고 이미터별 특성(파티클 시스템의 월드 내 위치와 방향)도 있으며, 엔진 자체에서 오는 특성(엔진 시작 이후 경과한 시간, 사용자의 입력 제공 여부)도 있습니다.
나이아가라 콘텐츠 예제 통로 중 가장 직접적인 예제 중 하나에서 이 부분을 확인할 수 있는데, 파티클이 원 소유 이미터 중심에서 멀리 표류해 가면서 색과 크기가 변합니다. 다양한 예제 각각에서 파티클 자체에 적용되는 파티클 방향, 속도, 스케일, 색, 머티리얼 파라미터 등 전부를 시뮬레이션 결과 또는 블루프린트나 게임플레이 코드에서 물려준 흥미로운 데이터로 동적 제어하면서 위와 같은 컨트롤 유형이 표시되는 것을 확인할 수 있습니다.

나이아가라 설계 방식을 감안할 때, 제공된 프리셋 모듈에 원하는 것이 없으면 직접 만들어 공유해 주실 것을 권장합니다.
빔
빔(Beam)은 캐스케이드에서 별도의 오브젝트로 존재했지만, 나이아가라에서는 단순히 여러 파티클을 비주얼 방식으로 연결하는 것입니다. 이로써 더욱 프로그래밍 가능한, 힘이나 다른 시뮬레이션 결과를 적용하는 것이 가능합니다. 빔의 각 선분 자체는 여전히 다른 파티클과 마찬가지로 시뮬레이션 되는 지점이기 때문입니다. 프리셋은 고정된 끝점을 사용하는 스태틱 빔(Static Beam)은 물론, 매 프레임 끝점과 탄젠트를 다시 계산하는 다이내믹 빔(Dynamic Beam)을 제공합니다.

현재 나이아가라 베타 빌드에는 셋업 모듈이 제공되어 빔을 처리하고 그 작동방식을 미세조정하며 사용자 정의할 수 있습니다.
파티클 렌더링의 새로운 방식
나이아가라가 시뮬레이션을 한 번 실행하면, 그 데이터로 여러 렌더러를 구동할 수 있습니다. 다시 위의 빔을 예로 들어 빔을 이루는 개별 파티클을 렌더링할지, 빔의 전반적인 리본 모양만 렌더링할지, 아니면 둘 다 렌더링할지 선택할 수 있습니다. 시뮬레이션 한 번에 여러 번 렌더링할 수 있는 점이 캐스케이드에 비교할 때 비주얼과 퍼포먼스 양쪽에 이득이 되는 뛰어난 점입니다.
기본 콜리전 이벤트
파티클끼리 서로 또는 다른 메시와 충돌하는 파티클을 만들려는 경우를 위해 간단히 사용할 수 있는 기본 파티클 콜리전 모듈을 준비해 뒀습니다. 이 모듈은 모듈식 청크로 나뉘어 있어 탄성 및 휴식 동작같은 측면을 미세 조정할 수 있습니다. 더 중요한 점은, 파티클 작동 방식을 미리 정하지 않고도 사용자에게 콜리전 결과를 노출시킬 수 있습니다. 콜리전을 감지했을 때 벌어지는 일을 완벽히 제어할 수 있다는 뜻입니다. 파티클이 충돌하면 색만 바꾸고 탄성은 없도록 하고 싶은가요? 선택은 자유입니다.

결론
나이아가라는 강력하고 매우 유연하면서 프로그래밍도 가능한 툴로, 복잡한 비주얼 이펙트를 만들 수 있으면서 가볍고 비교적 사용하기도 쉽습니다. 지금 바로 다운로드하여 베타로 사용할 수 있습니다. 베타라도 안심하세요. 계속해서 버그를 잡고 최적화하여 발전시켜 나가겠습니다. 현업에 종사하는 VFX 아티스트에게 주로 필요한 단순한 모듈을 여럿 제공하고, 데이터 인터페이스를 통해 엔진의 많은 부분을 시뮬레이션에 노출시켜, 특별한 파티클을 만드는 데 필요한 능력을 전부 드리고자 합니다.
플러그인을 사용해 보시고, 어떻게 하면 개선할 수 있을지 의견을 보내 주시기 바랍니다. 앞으로 라이브스트림을 통해 계속해서 이 툴의 위력에 대해 살펴볼테니, 기대해 주세요.