카메라 페이싱 스프라이트 대신 스태틱 메시를 스폰하면 이펙트의 사실성을 향상시킬 수 있습니다. 이 튜토리얼에서는 나이아가라 이미터를 구성하여 스프라이트 대신 스태틱 메시를 스폰하는 방법을 보여드립니다.
사전 요구사항: 이 튜토리얼에서는 임포트한 풍선 메시를 사용합니다. 인터넷에 검색하여 무료 메시를 찾을 수 있습니다. 시작용 콘텐츠(Starter Content) 에 있는 Shape_Sphere 스태틱 메시로 연습할 수도 있습니다. 아직 추가하지 않았다면, 이 프로젝트에 여러분의 메시를 추가하거나 여러분의 프로젝트에 시작용 콘텐츠를 추가하세요.
머티리얼 생성
이 가이드의 이펙트로 풍선 구름이 퍼져 나가는 것처럼 보이게 만들려고 합니다. 이펙트를 향상시키기 위해 메시를 고무 풍선처럼 보이게 만들 단순한 머티리얼을 생성합니다.
- 콘텐츠 브라우저(Content Browser) 에서 우클릭한 다음, 기본 에셋 생성(Create Basic Asset) 에서 머티리얼(Material) 을 클릭합니다.
- 새 머티리얼의 이름을 Balloon_Material 로 지정합니다. 머티리얼 에디터에서 머티리얼을 더블클릭하여 엽니다.
- 팔레트(Palette) 패널의 검색창에
Particle
을 입력합니다. 파티클 컬러(Particle Color) 를 선택하고 그래프로 드래그하여 파티클 컬러 노드를 추가합니다. - RGB 출력(RGB Output) 을 머티리얼(Material) 노드의 베이스 컬러(Base Color) 입력에 연결합니다.
- 1 키를 누른 채로 그래프를 클릭하면 상수(Constant) 노드가 생성됩니다. 이 노드를 두 번 복사해 총 세 개의 상수 노드 를 생성합니다.
- 첫 번째 상수 출력을 머티리얼 노드의 메탈릭(Metallic) 입력에 연결합니다.
- 디테일(Details) 패널의 머티리얼 표현식 상수(Material Expression Constant) 에서 선택한 상수의 값(Value) 을 설정할 수 있습니다. 이 머티리얼은 메탈릭이 아니므로 메탈릭(Metallic) 상수의 값을 0 으로 설정하세요.
- 두 번째 상수 노드의 출력을 머티리얼 노드의 스페큘러(Specular) 입력에 연결합니다.
- 스페큘러 상수 노드를 선택한 뒤, 디테일 패널의 스페큘러 값(Value) 을 0.7 로 설정합니다. 이렇게 하면 머티리얼의 표면에 리플렉션이 약간 생깁니다.
- 세 번째 상수 노드의 출력을 머티리얼 노드의 러프니스(Roughness) 입력에 연결합니다.
- 러프니스 상수 노드를 선택한 뒤 디테일 패널의 러프니스 값 을 0.2 로 설정합니다. 이렇게 하면 표면이 매우 부드러워집니다.
머티리얼 최종 결과물은 다음 이미지와 같은 모습이 됩니다.
시스템 및 이미터 생성
나이아가라 이미터와 시스템은 독립적입니다. 현재 권장되는 워크플로는 기존 이미터나 이미터 템플릿에서 시스템을 생성하는 것입니다.
- 우선 콘텐츠 드로어(Content Drawer)에서 우클릭하고 FX > 나이아가라 시스템(Niagara System) 을 선택하여 나이아가라 시스템을 생성합니다. 나이아가라 이미터 마법사가 표시됩니다.
- 선택한 이미터에서 새 시스템 생성(New system from selected emitters) 을 선택합니다. 그리고 다음(Next) 을 클릭합니다.
- 템플릿(Templates) 에서 분수(Fountain) 를 선택합니다.
- 더하기 표시(Plus sign) ( + ) 아이콘을 클릭하여 시스템에 추가할 이미터 목록에 해당 이미터를 추가한 다음, 완료(Finish) 를 클릭합니다.
- 새 시스템의 이름을 Balloon_System 으로 지정합니다. 더블클릭하여 나이아가라 에디터(Niagara Editor)에서 실행합니다.
- 새 시스템의 이미터 인스턴스 이름은 기본적으로 Fountain 로 설정되지만 변경할 수 있습니다. 시스템 개요(System Overview) 에서 이미터 인스턴스 이름을 클릭하면 해당 필드를 편집할 수 있습니다. 이미터의 이름은 Balloons 로 지정합니다.
- MeshSystem 을 레벨로 드래그합니다.
파티클 이펙트를 만들 때는 항상 시스템을 레벨로 드래그하는 게 좋습니다. 그러면 컨텍스트의 모든 변경 사항과 편집을 확인할 수 있습니다. 시스템에 대한 모든 변경 사항은 해당 레벨의 시스템 인스턴스에 자동으로 전파됩니다.
렌더러 변경
렌더 그룹은 스택의 마지막에 있는데, 의도한 대로 이펙트를 표시하려면 바꿔야 할 부분이 있습니다. 이번에는 템플릿에 스프라이트 렌더러(Sprite Renderer)가 있으며, 이 이펙트에 메시 렌더러(Mesh Renderer)가 필요합니다.
- 시스템 개요(System Overview) 의 선택(Selection) 패널에서 렌더 를 클릭해 엽니다.
- 메시 파티클 이펙트를 만들려면 메시 렌더러(Mesh Renderer) 모듈이 필요한데, 템플릿에 스프라이트 렌더러(Sprite Renderer) 가 있습니다. 휴지통(Trashcan) 아이콘을 클릭하여 스프라이트 렌더러를 삭제합니다.
- 렌더의 더하기 표시 ( + ) 아이콘을 클릭하고 메시 렌더러 를 선택합니다.
- 파티클 메시(Particle Mesh) 드롭다운을 클릭하고 메시를 선택하세요. 풍선 모델을 임포트했다면 선택하세요. 테스트하려면 샘플 머티리얼에서 Shape_Sphere 를 선택하면 됩니다.
- 레벨에 표시하기에는 메시가 너무 작거나 클 수 있습니다. 필요하면 여기서 크기를 조절해야 합니다. 메시에 디폴트 머티리얼이 적용되어 있을 것입니다. 머티리얼 오버라이드(Override Materials)를 활성화하여 커스텀 머티리얼을 대신 사용할 수 있습니다. 오버라이드 머티리얼(Override Materials) 을 클릭하여 활성화한 다음, 더하기 표시 ( + ) 아이콘을 클릭하여 배열에 엘리먼트를 추가합니다.
- 명시적 머티리얼(Explicit Mat) 드롭다운을 클릭하고 이전에 만든 Balloon_Material 머티리얼을 선택합니다.
이미터 업데이트 그룹 세팅 편집
먼저, 이미터 업데이트 그룹에서 모듈을 편집합니다. 이 동작은 이미터에 적용되며 프레임별로 업데이트됩니다.
- 시스템 개요(System Overview) 의 선택(Selection) 패널에서 이미터 업데이트(Emitter Update) 그룹을 클릭해 엽니다.
- 이미터 상태(Emitter State) 모듈을 펼칩니다. 분수(Fountain) 템플릿을 사용했기 때문에 라이프 사이클 모드(Life Cycle Mode) 가 셀프(Self) 로 설정됩니다. 드롭다운을 클릭하고 라이프 사이클 모드 를 시스템 으로 설정합니다. 그러면 시스템에서 라이프 사이클 세팅을 계산할 수 있습니다. 이 세팅은 보통 퍼포먼스를 최적화합니다.
- 스폰 속도(Spawn Rate) 모듈은 이미터가 활성화되는 동안 지속적으로 파티클을 생성합니다. 이 모듈은 이미 분수 템플릿에 있습니다. 스폰 속도 를 100 으로 설정합니다.
파티클 스폰 그룹 세팅 편집
다음으로, 파티클 스폰 그룹에서 모듈을 편집합니다. 이 동작은 파티클이 처음 스폰될 때 파티클에 적용됩니다.
- 시스템 개요 의 선택 패널에서 파티클 스폰 그룹을 클릭해 엽니다.
- 파티클 초기화(Initialize Particle) 모듈을 펼칩니다. 이 모듈은 관련된 여러 파라미터를 하나의 모듈로 모아서 스택의 복잡성을 최소화합니다. 포인트 어트리뷰트(Point Attributes) 에서 수명(Lifetime) 파라미터를 찾습니다. 이 파라미터는 파티클이 사라지기 전까지 얼마나 오랫동안 표시될지를 결정합니다. 수명 모드(Lifetime Mode) 에서 랜덤(Random) 을 선택하세요. 최소 및 최대 값을 다음과 같이 설정합니다.
세팅 값 최소 2.0 최대 4.0 - 컬러(Color) 파라미터를 찾습니다. 모든 풍선의 색을 동일하게 지정하거나, 다른 모드를 사용하여 다양하게 지정할 수 있습니다. 이 예시에서는 컬러 모드(Color Mode) 를 랜덤 범위(Random Range) 로 설정합니다. 이렇게 하면 풍선에 두 컬러 세팅 값 사이의 랜덤 색상이 적용됩니다. 원하는 모습이 나올 때까지 RGB 값을 변경하세요. 여기서 설정한 색은 이전에 만든 머티리얼에 적용됩니다. 이 예제에서는 빨강, 파랑으로 설정했습니다.
세팅 컬러 최소 컬러 최대 빨강(Red) 1.0 0.0 초록(Green) 0.0 0.0 파랑(Blue) 0.0 1.0 - 스프라이트 어트리뷰트(Sprite Attributes) 에서 스프라이트 크기 모드(Sprite Size Mode) , 스프라이트 회전 모드(Sprite Rotation Mode) , 스프라이트 UV 모드(Sprite UV Mode) 를 미설정(Unset) 으로 설정합니다. 메시를 사용하고 있으므로, 이 이펙트에는 해당 어트리뷰트를 사용할 필요가 없습니다.
- 처음 메시를 설정할 때 크기를 조정했는데 몇몇 풍선의 크기를 다른 풍선보다 크게 만들고 싶을 수 있습니다. 메시 어트리뷰트(Mesh Attributes) 에서 메시 스케일 모드(Mesh Scale Mode) 를 랜덤 균등(Random Uniform) 으로 설정합니다. 메시 균등 스케일 최솟값(Mesh Uniform Scale Min) 을 0.7 로, 메시 균등 스케일 최댓값(Mesh Uniform Scale Max) 을 1.0 으로 설정합니다. 풍선 메시 대신 스피어를 사용한 경우, 메시 스케일 모드 를 랜덤 불균등(Random Non-Uniform) 으로 설정해 스피어의 모양을 불규칙하게 만듭니다.
- 원뿔로 속도 추가(Add Velocity in Cone) 모듈은 지금 만들고 있는 이펙트에 필요하지 않습니다. 풍선이 원뿔 모양 안에서 퍼지면 안 되니 휴지통을 클릭하여 스택에서 이 모듈을 제거합니다.
- 속도 추가(Add Velocity) 모듈을 사용하면 스폰되자마자 파티클이 움직입니다. 더하기 표시 ( + ) 아이콘을 클릭하고 속도 추가 를 선택해 속도 추가 모듈을 파티클 스폰 섹션에 추가합니다.
- 이 이펙트로 풍선이 퍼져 나가는 것처럼 보이게 만들어야 하므로, 파티클의 속도는 랜덤으로 설정되어야 합니다. 속도(Velocity) 값 필드 옆의 아래쪽 화살표를 클릭한 뒤 랜덤 범위 벡터(Random Range Vector) 를 선택합니다. 그러면 최소 및 최대 속도 필드가 추가되어 모든 풍선에 이 범위 내의 속도 값이 랜덤으로 할당됩니다.
- 속도의 최소(Minimum) 및 최대(Maximum) 를 다음 값으로 설정합니다. 그러면 X, Y축으로는 약간, Z축으로는 많이 이동합니다.
세팅 값 최소 X : 15, Y : 25, Z : 50 최대 X : 30, Y : 30, Z : 100 - 스피어 위치(Sphere location) 는 스프라이트가 스폰되는 위치의 모양을 제어합니다. 스프라이트를 스피어 모양으로 스폰하고 반경을 지정하여 스피어 모양의 크기를 설정할 수 있습니다. 스피어 반경(Sphere Radius) 을 200 으로 설정합니다. 그러면 풍선이 퍼져 나가는 동안 파티클이 더 흩어집니다.
파티클 업데이트 그룹 세팅 편집
이제 파티클 업데이트(Particle Update) 그룹에서 모듈을 편집합니다. 이 동작은 이미터의 파티클에 적용되며 프레임별로 업데이트됩니다.
- 시스템 개요 의 선택 패널에서 파티클 업데이트 그룹을 클릭해 엽니다.
- 일반적으로 중력(Gravity Force) 모듈을 사용하여 중력이 오브젝트에 영향을 미치는 방식을 시뮬레이션합니다. 파티클에 가속도를 추가할 때도 자주 사용합니다. 중력의 X, Y, Z 값을 다음과 같이 설정합니다.
세팅 값 X 10 Y 10 Z 40 - 항력(Drag) 모듈은 파티클에 항력을 적용하여 파티클 속도를 낮춥니다. 항력 을 1.0 으로 설정합니다.
- 컬러 스케일(Scale Color) 모듈은 분수 템플릿의 일부지만, 이 이펙트에는 필요 없습니다. 휴지통 아이콘을 클릭해 컬러 스케일 모듈을 제거합니다.
최종 결과
축하합니다! 나이아가라에서 메시 파티클 이펙트를 만드셨습니다. 지금까지 머티리얼을 만들고, 파티클 컬러를 만든 머티리얼에 적용하고, 스태틱 메시를 파티클로 사용하는 방법을 배웠습니다. 이펙트를 다듬으려면 모듈에 있는 옵션을 계속 탐구해 보세요.