Choose your operating system:
Windows
macOS
Linux
사전 요구사항(Prerequisite step): 이 하우투에서는 나이아가라 플러그인 콘텐츠에서 제공하는 DefaultRibbonMaterial 머티리얼을 사용했습니다. 메시 파티클 이펙트 생성 튜토리얼을 완료했다면 해당 하우투에서 사용했던 M_Balloon 머티리얼을 대신 선택할 수 있습니다.
자연 현상을 시뮬레이션하는 것은 상당히 어려운 작업입니다. 특히 스프라이트나 메시 기반 파티클을 사용하여 연기 또는 비행운을 시뮬레이션할 때는 더욱 그렇습니다. 리본 이미터(Ribbon Emitters) 는 이러한 오브젝트를 시뮬레이션하는 데 적합한 솔루션입니다. 다음 하우투에서는 지속적인 리본 스타일 파티클 이펙트를 월드로 방출할 수 있도록 나이아가라 이미터를 구성하는 방법을 배우게 됩니다.
시스템 및 이미터 생성
캐스케이드와 달리 나이아가라 이미터와 시스템은 독립되어 있습니다. 현재 권장되는 워크플로는 기존 이미터 또는 이미터 템플릿에서 시스템을 생성하는 것입니다.
-
먼저 콘텐츠 브라우저에서 우클릭하고 FX > 나이아가라 시스템(FX > Niagara System) 을 선택하여 나이아가라 시스템을 생성합니다. 나이아가라 이미터 마법사가 표시됩니다.
-
선택한 이미터에서 새 시스템 생성(New system from selected emitters) 을 선택합니다. 그리고 나서 다음(Next) 을 클릭합니다.
-
템플릿(Templates) 에서 심플 스프라이트 버스트(Simple Sprite Burst) 를 선택합니다.
템플릿을 사용하면 새 시스템에 이미터 인스턴스가 배치되며 해당 이미터 인스턴스에는 상속이 없습니다.
-
더하기 기호(Plus sign) 아이콘( + )을 클릭하여 시스템에 추가할 이미터 목록에 선택한 이미터를 추가합니다. 그리고 나서 완료(Finish) 를 클릭합니다.
-
새 시스템 이름을 RibbonSystem 으로 지정합니다. 나이아가라 에디터에서 더블클릭하여 엽니다.
!
-
새 시스템의 이미터 인스턴스 이름은 기본적으로 SimpleSpriteBurst 이지만 이름을 변경할 수 있습니다. 시스템 개요(System Overview) 에서 이미터 인스턴스 이름을 클릭하면 필드가 편집 가능하게 됩니다. 이미터 이름을 FX_Ribbon 으로 지정합니다.
렌더러 변경
렌더(Render) 그룹은 스택의 마지막 부분이지만 이펙트가 기대한 대로 표시되도록 세팅을 변경해야 합니다. 원본 템플릿에서는 스프라이트 렌더러를 사용했지만 이 이펙트에는 리본 렌더러가 필요합니다.
-
시스템 개요(System Overview) 에서 렌더(Render) 를 클릭하여 선택(Selection) 패널에서 엽니다.
-
리본 이펙트를 만들려면 리본 렌더러(Ribbon Renderer) 모듈이 필요합니다. 하지만 템플릿에는 스프라이트 렌더러(Sprite Renderer) 모듈이 있습니다. 휴지통(Trashcan) 아이콘을 클릭하여 스프라이트 렌더러를 삭제합니다.
-
렌더(Render) 에서 더하기 기호(Plus sign) 아이콘( + )을 클릭하고 리본 렌더러(Ribbon Renderer) 를 선택합니다.
-
기본적으로 원하는 머티리얼은 나타나지 않습니다. 머티리얼(Material) 의 드롭다운을 클릭하고 뷰 옵션(View Options) 을 클릭하면 옵션 목록이 열립니다. 엔진 콘텐츠 표시(Show Engine Content) 와 플러그인 콘텐츠 표시(Show Plugin Content) 박스를 선택합니다. 이제 머티리얼을 볼 수 있습니다.
-
머티리얼(Material) 드롭다운을 클릭하고 DefaultRibbonMaterial 을 선택합니다.
메시 파티클 이펙트 생성 하우투를 완료했으면 M_Balloon 머티리얼을 대신 선택할 수 있습니다. 이렇게 하면 DefaultRibbonMaterial에서 생성한 반투명 리본이 아닌 불투명 리본이 설정됩니다.
-
RibbonSystem 을 레벨에 드래그합니다.
파티클 이펙트를 만들 때 레벨에 시스템을 드래그하는 작업은 항상 추천합니다. 이렇게 하면 모든 변경 및 편집 내역을 맥락과 함께 볼 수 있습니다. 시스템에서 변경한 내용은 레벨의 시스템 인스턴스에 자동으로 전파됩니다.
이미터 업데이트 그룹 세팅 편집
먼저 이미터 업데이트(Emitter Update) 그룹에서 모듈을 편집합니다. 이미터에 적용되는 동작과 각 프레임을 업데이트하는 동작이 있습니다.
리본 렌더러를 추가하고 Emitter Update(이미터 업데이트) 그룹에서 세팅을 편집하고 나서도 리본은 나타나지 않습니다. 이 결과는 정상입니다. 이 문서의 파티클 스폰 섹션까지 진행하면 실제 리본을 볼 수 있게 됩니다.
-
시스템 개요(System Overview) 에서 이미터 업데이트(Particle Update) 그룹을 클릭하여 선택(Selection) 패널에서 엽니다.
-
Emitter State(이미터 상태) 모듈을 확장합니다. 이 모듈은 이 이미터의 시간과 엔진 퀄리티를 제어합니다. 심플 스프라이트 버스트(Simple Sprite Burst) 템플릿을 사용했기 때문에 라이프 사이클 모드(Life Cycle Mode) 가 셀프(Self) 로 설정됩니다. 일반적으로 이 특정 이미터의 이미터 라이프 사이클 로직의 완벽한 커스터마이징을 위해 사용되지만 이 이펙트에서는 필요가 없습니다. 드롭다운을 클릭하고 라이프 사이클 모드(Life Cycle Mode) 를 시스템(System) 으로 설정합니다. 이렇게 하면 시스템에서 라이프 사이클 세팅을 계산할 수 있으며, 이를 통해 주로 성능이 최적화됩니다. 기본적으로 시스템은 5초 간격으로 무한대로 루핑합니다.
-
Spawn Rate(스폰 속도) 모듈은 이미터가 활성 상태에 있는 동안 지속적인 파티클 스트림을 생성합니다. 이미터 업데이트(Emitter Update) 에서 더하기 기호(Plus sign) 아이콘( + )을 클릭하고 스폰 > 스폰 속도(Spawning > Spawn Rate) 를 선택하여 스폰 속도(Spawn Rate) 모듈을 추가합니다.
-
스폰 속도(Spawn Rate) 를 100 으로 설정합니다.
파티클 스폰 그룹 세팅 편집
다음으로 파티클 스폰(Particle Spawn) 그룹에서 모듈을 편집합니다. 이 비헤이비어는 처음 스폰되었을 때 파티클에 적용됩니다.
-
시스템 개요(System Overview) 에서 파티클 스폰(Spawn) 그룹을 클릭하여 선택(Selection) 패널에서 엽니다.
-
Initialize Particle(파티클 초기화) 모듈을 확장합니다. 휴지통(Trashcan) 아이콘을 클릭하여 삭제합니다. 이 모듈이 필요하지 않지만 리본을 초기화할 수 있는 다른 모듈이 있습니다.
-
리본 초기화(Initialize Ribbon) 모듈은 여러 개의 파라미터를 모듈 한 개로 수집한다는 점에서 Initialize Particle(파티클 초기화)과 유사한 기능을 수행합니다. 파티클 스폰(Particle Spawn) 에서 더하기 기호(Plus sign) 아이콘( + )을 클릭하고 초기화 > 리본 초기화(Initialize > Initialize Ribbon) 를 선택합니다.
-
포인트 어트리뷰트(Point Attributes) 에서 수명(Lifetime) 파라미터를 찾습니다. 이 파라미터는 파티클이 사라지기 전까지 표시되는 시간을 결정합니다. 수명(Lifetime) 을 5 로 설정합니다.
-
질량(Mass) 파라미터를 10 으로 설정합니다. 이 값은 리본이 바깥쪽으로 퍼지는 방식과 떨어지는 속도에 영향을 미칩니다.
-
컬러(Color) 파라미터에서 R (빨강) 값을 1 로 설정합니다. 다른 값은 0 으로 둡니다. 나중에 컬러를 선택해서 변경할 수 있습니다.
-
리본 어트리뷰트(Ribbon Attributes) 에서 리본 폭(Ribbon Width) 을 10 으로 설정합니다.
-
리본을 나선형으로 회전하게 하려면 토러스 위치(Torus Location) 모듈을 추가합니다. 위치 모듈은 파티클이 스폰하는 위치의 모양에 영향을 줍니다. 파티클 스폰(Particle Spawn) 에서 더하기 기호(Plus sign) 아이콘( + )을 클릭하고 위치 > 토러스 위치(Location > Torus Location) 를 선택합니다.
-
모양(Shape) 에서 토러스 모드(Torus Mode) 의 드롭다운을 클릭하고 링(Ring) 을 선택합니다.
-
큰 반경(Large Radius) 을 50 으로 설정합니다. Large Radius(큰 반경)는 기본 링 모양의 크기를 결정합니다.
-
분포(Distribution) 에서 토러스 분포 모드(Torus Distribution Mode) 의 드롭다운을 클릭하고 다이렉트(Direct) 를 선택합니다.
-
U 위치(U Position) 파라미터는 링 모양에서 포지션을 설정합니다. 파라미터(Parameters) 패널에서 이미터 어트리뷰트(Emitter Attributes) 섹션을 펼칩니다. Emitter.Age 파라미터를 선택(Selection) 패널 위로 드래그하면 파라미터를 사용할 수 있는 필드 주변에 점으로 연결된 녹색 선이 나타납니다. Emitter.Age 파라미터를 U 위치(U Position) 값에 놓습니다. 리본은 스태틱 링에서 회전하는 것처럼 보이지만 이 다음 단계에서 바꿀 수 있습니다.
-
이제 리본에 속도를 추가해보겠습니다. 파티클 스폰(Particle Spawn) 에서 더하기 기호(Plus sign) 아이콘( + )을 클릭하고 속도 > 포인트의 속도 추가(Velocity > Add Velocity from Point) 를 선택합니다.
-
속도 세기(Velocity Strength) 를 50 으로 설정합니다. 이제 리본이 나선형으로 움직이기 시작합니다. 이는 위치가 큰 반경을 중심으로 움직이면서 속도가 원래 링의 바깥쪽으로 리본을 밀기 때문에 발생합니다.
파티클 업데이트 그룹 세팅 편집
이제 다음으로 파티클 업데이트(Particle Update) 그룹에서 모듈을 편집합니다. 이 비헤이비어는 이미터의 파티클에 적용되며 각 프레임을 업데이트합니다.
-
시스템 개요(System Overview) 에서 파티클 업데이트(Particle Update) 그룹을 클릭하여 선택(Selection) 패널에서 엽니다.
-
이 이펙트에 단일 컬러가 지정되어 있다면 컬러 스케일 조절(Scale Color) 모듈은 필요가 없습니다. 휴지통(Trashcan) 아이콘을 클릭하여 삭제합니다.
-
가속력(Acceleration Force) 모듈을 추가합니다. 나선형으로 움직이는 리본을 아래로 떨어지게 하여 중력을 시뮬레이션합니다. 파티클 업데이트(Particle Update) 에서 더하기 기호(Plus sign) 아이콘( + )을 클릭하고 힘 > 가속력(Forces > Acceleration Force) 을 선택합니다.
-
나이아가라는 그룹의 스택 하단에 새 모듈을 추가하기 때문에 "The module has unmet dependencies.(모듈에 충족되지 않은 종속성이 있습니다.)"라는 오류가 나타납니다. 가속력(Acceleration Force) 모듈은 힘 및 속도 해결(Solve Forces and Velocity) 모듈 다음에 배치됩니다. 이슈 고침(Fix Issue) 버튼을 클릭하여 모듈을 이동하고 오류를 해결합니다.
-
가속력(Acceleration) 의 Z 값을 -200 으로 설정합니다. Z 값이 양수면 리본 나선형을 위쪽 방향으로 만들고, 음수면 리본은 포물선 모양을 그리면서 아래로 떨어지게 됩니다.
최종 결과
>> 축하드립니다! 나이아가라에서 리본 이펙트가 생성되었습니다. 아래 비디오에서 왼쪽에서는 DefaultRibbonMaterial**로 만든 리본 이펙트를, 오른쪽에서는 M_Balloon** 텍스처로 만든 동일한 리본 이펙트를 볼 수 있습니다.