사전 요구사항: 이 튜토리얼에서는 나이아가라 플러그인 콘텐츠에 포함된 DefaultRibbonMaterial을 사용합니다. 하지만 나이아가라에서 메시 파티클 이펙트를 생성하는 방법 튜토리얼을 완료하셨다면, 튜토리얼 중에 제작한 M_Balloon 머티리얼을 사용해도 됩니다.
자연 현상을 시뮬레이션하는 것은 어려운 일이며, 스프라이트나 메시 기반 파티클을 사용한 연기 또는 비행운 시뮬레이션은 특히 어렵습니다. 리본 이미터(Ribbon Emitters) 는 이러한 오브젝트를 시뮬레이션하기 적합한 솔루션입니다. 앞으로 진행할 튜토리얼에서는 지속적인 리본 스타일 파티클 이펙트를 월드에 생성할 수 있도록 나이아가라 이미터를 생성하는 방법을 배웁니다. 최종 결과물은 다음과 같습니다.
시스템 및 이미터 생성
나이아가라 이미터 및 시스템은 캐스케이드와 달리 독립되어 있습니다. 현재는 기존 이미터나 이미터 템플릿에서 시스템을 생성하는 워크플로를 권장합니다.
우선 콘텐츠 드로어(Content Drawer)에서 우클릭하고 FX > 나이아가라 시스템(Niagara System) 을 선택하여 나이아가라 시스템을 생성합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
선택한 이미터에서 나온 새 시스템(New system from selected emitters) 을 선택합니다. 다음(Next) 을 클릭합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
템플릿(Templates) 에서 심플 스프라이트 버스트(Simple Sprite Burst) 를 선택합니다.
템플릿을 사용하면 새 시스템에 이미터 인스턴스가 배치됩니다. 해당 이미터 인스턴스에는 상속이 없습니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
더하기 표시(Plus sign) 아이콘( + )을 눌러 선택한 이미터를 시스템에 추가할 이미터 목록에 추가합니다. 완료(Finish) 를 클릭합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
새 시스템 이름을 RibbonSystem 으로 지정합니다.
RibbonSystem 을 레벨에 드래그한 뒤, 나이아가라 에디터에서 더블 클릭하여 엽니다.
파티클 이펙트를 만들 때는 항상 시스템을 레벨로 드래그하는 것이 좋습니다. 이렇게 하면 모든 변경과 편집을 레벨에서 볼 수 있습니다. 시스템에서 변경한 내용은 자동으로 레벨의 시스템 인스턴스에 전파됩니다.
새 시스템의 이미터 인스턴스 이름은 기본적으로 SimpleSpriteBurst 지만 나중에 변경할 수 있습니다. 시스템 개요(System Overview) 에서 이미터 인스턴스 이름을 클릭하면 해당 필드를 편집할 수 있습니다. 이미터의 이름을 FX_Ribbon 으로 지정합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
렌더러 변경
렌더(Render) 그룹은 스택의 마지막 부분이지만, 이펙트를 원하는 대로 표시하려면 세팅을 변경해야 합니다. 원본 템플릿에서는 스프라이트 렌더러(Sprite Renderer)를 사용했지만 이 이펙트에는 리본 렌더러(Ribbon Renderer)가 필요합니다.
시스템 개요 에서 렌더 를 클릭하여 선택(Selection) 패널에서 엽니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
리본 이펙트를 만들려면 리본 렌더러 모듈이 필요합니다. 그런데 템플릿에 이미 스프라이트 렌더러 모듈이 있습니다. 휴지통(Trashcan) 아이콘을 클릭하여 스프라이트 렌더러를 삭제합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
렌더 에서 더하기 표시 아이콘( + )을 클릭하고 리본 렌더러 를 선택합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
기본적으로는 원하는 머티리얼이 표시되지 않습니다. 머티리얼(Material) 드롭다운을 클릭하고 뷰 옵션(View Options) 을 클릭하면 옵션 목록이 열립니다. 엔진 콘텐츠 표시(Show Engine Content) , 플러그인 콘텐츠 표시(Show Plugin Content) 박스를 체크하세요. 이제 머티리얼을 볼 수 있습니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
머티리얼 드롭다운을 클릭하고 DefaultRibbonMaterial 을 선택합니다.
[메시 파티클 이펙트 생성](creating-visual-effects/HowTo/MeshEffect)튜토리얼을 완료했다면 M_Balloon 머티리얼을 선택해도 됩니다. 그러면 DefaultRibbonMaterial에서 생성한 반투명 리본이 아닌 불투명 리본이 됩니다.이미지를 클릭하면 최대 크기로 볼 수 있습니다.
이미터 업데이트 그룹 세팅 편집
우선 이미터 업데이트(Emitter Update) 그룹에서 모듈을 편집합니다. 이 동작은 이미터에 적용되며 프레임마다 업데이트됩니다.
리본 렌더러를 추가하고 이미터 업데이트 그룹에서 세팅을 편집해도 리본이 나타나지 않습니다. 문제 없습니다! 이 문서에서 파티클 스폰 섹션까지 진행하면 리본이 나타날 것입니다.
시스템 개요(System Overview) 에서 이미터 업데이트(Emitter Update) 그룹을 클릭하여 선택(Selection) 패널로 엽니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
이미터 상태(Emitter State) 모듈을 펼칩니다. 이 모듈은 이미터의 시간과 확장성을 제어합니다. 심플 스프라이트 버스트 템플릿을 사용했기 때문에 라이프 사이클 모드(Life Cycle Mode) 가 셀프(Self) 로 세팅됩니다. 이 세팅은 보통 특정 이미터에 설정된 라이프 사이클 로직을 완벽하게 커스터마이징하기 위해 사용되는데, 해당 이펙트에는 사용할 필요가 없습니다. 드롭다운을 클릭하고 라이프 사이클 모드(Life Cycle Mode) 를 시스템(System) 으로 설정합니다. 그러면 시스템에서 라이프 사이클 세팅을 계산할 수 있습니다. 일반적으로 이 세팅은 퍼포먼스를 최적화합니다. 기본적으로 시스템은 5초마다 무한히 루프됩니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
스폰 속도(Spawn Rate) 모듈은 이미터가 활성화되는 동안 지속적으로 파티클을 생성합니다. 이미터 업데이트 에서 더하기 표시 아이콘( + )을 클릭하고 스폰(Spawning) > 스폰 속도(Spawn Rate) 를 선택하여 스폰 속도 모듈을 추가합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
스폰 속도(Spawn Rate) 를 100 으로 설정합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
파티클 스폰 그룹 세팅 편집
다음으로는 파티클 스폰(Particle Spawn) 그룹에서 모듈을 편집합니다. 이 동작은 처음 스폰되었을 때 파티클에 적용됩니다.
시스템 개요(System Overview) 에서 파티클 스폰(Particle Spawn) 그룹을 클릭하여 선택(Selection) 패널에서 엽니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
포인트 어트리뷰트(Point Attributes) 에서 수명(Lifetime) 파라미터를 찾습니다. 이 파라미터는 파티클이 사라지기 전까지 표시되는 시간을 결정합니다. 수명(Lifetime) 을 5 로 설정합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
컬러(Color) 파라미터를 원하는 색상으로 설정할 수 있습니다. RGB 값을 입력하거나 버튼을 눌러 색 선택 툴을 열면 됩니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
질량(Mass) 파라미터를 10 으로 설정합니다. 질량은 리본이 바깥쪽으로 퍼지는 방식과 떨어지는 속도에 영향을 줍니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
리본 어트리뷰트(Ribbon Attributes) 에서 리본 폭(Ribbon Width) 을 10 으로 설정합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
리본을 나선형으로 회전하게 하려면 모양 위치(Shape Location) 모듈을 추가합니다. 위치 모듈은 파티클이 스폰하는 장소의 모양에 영향을 줍니다. 파티클 스폰(Particle Spawn) 에서 더하기 표시(+) 아이콘을 클릭하고 위치(Location) > 모양 위치 를 선택합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
모양(Shape) 에서 모양 프리미티브(Shape Primitive) 드롭다운을 클릭하고 링/디스크(Ring/Disk) 를 선택합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
링 반경(Ring Radius) 을 50 으로 설정합니다. 링 반경은 기본 링 모양의 크기를 결정합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
분포(Distribution) 에서 링 분포 모드(Ring Distribution Mode) 드롭다운을 클릭하고 다이렉트(Direct) 를 선택합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
이제 리본에 속도를 추가할 것입니다. 파티클 스폰(Particle Spawn) 에서 더하기 표시(+) 아이콘을 클릭하고 속도(Velocity) > 속도 추가(Add Velocity) 를 선택합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
속도 모드(Velocity Mode) 드롭다운을 클릭하고 포인트(From Point) 를 선택합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
속도 속력(Velocity Speed) 을 50 으로 설정합니다. 이제 리본이 나선형으로 움직일 것입니다! 이는 세팅된 위치에서 큰 반경을 중심으로 움직이는 동안, 속도가 리본을 원본 링의 바깥쪽으로 밀어내기 때문입니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
파티클 업데이트 그룹 세팅 편집
이제 파티클 업데이트(Particle Update) 그룹에서 모듈을 편집합니다. 이 동작은 이미터의 파티클에 적용되며 프레임마다 업데이트됩니다.
시스템 개요(System Overview) 에서 파티클 업데이트(Particle Update) 그룹을 클릭하여 선택(Selection) 패널로 엽니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
이 이펙트에 단일 컬러가 지정되었으므로 컬러 스케일 조절(Scale Color) 모듈은 필요하지 않습니다. 휴지통 아이콘을 클릭하여 삭제합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
가속 힘(Acceleration Force) 모듈을 추가합니다. 해당 모듈은 나선형으로 움직이는 리본을 아래로 떨어지게 하여 중력을 시뮬레이션합니다. 파티클 업데이트 에서 더하기 표시 아이콘( + )을 클릭하고 힘(Forces) > 가속 힘 을 선택합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
가속(Acceleration) 의 Z 값을 -200 으로 설정합니다. Z 값이 양수면 리본 나선형이 상승하고, 음수면 포물선 모양을 그리면서 하강합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
최종 결과
축하합니다! 나이아가라에서 리본 이펙트를 만들었습니다.