본문 바로가기

렌더러 모듈의 역할과 기본 사용법

Sprite·Mesh·Ribbon·Light Renderer가 파티클 데이터를 화면 형태로 바꾸는 방식과 효과별 선택 기준을 익힙니다.

파티클이 생성되고 움직임을 얻었다면, 이제 이 파티클들이 화면에 어떻게 보일지를 결정해야 합니다.

바로 이 역할을 담당하는 것이 렌더러(Renderer) 모듈입니다.

렌더러 모듈은 이미터 내의 렌더(Render) 섹션에 위치하며, 파티클 데이터를 최종적으로 시각적인 형태로 변환하여 화면에 그려주는 역할을 합니다.

렌더러가 없다면 아무리 많은 파티클을 만들고 멋진 움직임을 부여해도 아무것도 보이지 않을 것입니다.


렌더러 모듈의 중요성

렌더러 모듈은 파티클 효과의 최종적인 시각적 결과물을 결정하는 가장 중요한 부분 중 하나입니다.

어떤 렌더러를 사용하느냐에 따라 파티클이 점처럼 보일 수도 있고, 이미지처럼 보일 수도 있으며, 심지어 3D 모델처럼 보일 수도 있습니다.

효과의 성격에 맞춰 적절한 렌더러를 선택하고 설정하는 것이 매우 중요합니다.

나이아가라는 여러 종류의 렌더러 모듈을 제공하며, 각 렌더러는 특정 유형의 시각 효과를 구현하는 데 최적화되어 있습니다.

하나의 이미터는 여러 개의 렌더러를 가질 수 있으며, 활성화와 바인딩 조건을 만족하는 렌더러가 같은 데이터를 각자의 방식으로 사용합니다. Light Renderer는 입자의 표면을 그리는 대신 주변 조명을 만듭니다.

예시

살아 있는 입자 3개에 Sprite Renderer와 Light Renderer를 함께 사용한다고 합시다. 각 입자의 출력이 활성화되고 필요한 바인딩이 모두 연결되면 같은 3개의 상태로 스프라이트와 조명 효과를 만듭니다. 렌더러가 둘이라고 시뮬레이션 입자가 6개로 복제되지는 않습니다. Sprite Renderer만 끄면 스프라이트 표현은 없어지지만, 다른 설정이 같다면 입자 시뮬레이션과 Light Renderer의 조명은 계속될 수 있습니다.


주요 렌더러 모듈의 종류와 사용법

나이아가라에서 주로 사용되는 렌더러 모듈들을 살펴보겠습니다.

렌더러를 고를 때는 단순히 보이는 모양만 보지 말고, 어떤 데이터로 그릴지와 어떤 렌더 속성이 비용을 키우는지도 함께 확인해야 합니다.

스프라이트 렌더러 (Sprite Renderer)

Sprite Renderer는 가장 흔하게 사용되는 렌더러로, 파티클을 2D 이미지(스프라이트) 형태로 화면에 그립니다.

대부분의 불꽃, 연기, 먼지, 물방울 등 다양한 캐주얼 및 사실적인 효과에 사용됩니다.

  • 설정
    • Material (머티리얼): 스프라이트에 적용될 머티리얼을 지정합니다. 이 머티리얼은 파티클의 색상, 투명도, 질감 등을 결정합니다. 보통 Additive, Translucent 등의 블렌드 모드를 사용하는 파티클용 머티리얼을 사용합니다.
    • Sub Image Size: 스프라이트 시트의 열·행 수를 지정합니다. 애니메이션은 SubUV Animation 등의 모듈이 쓰는 SubImageIndex와 렌더러 바인딩, 머티리얼 UV 처리가 함께 맞아야 합니다.
    • Facing Mode / Alignment: Facing Mode는 면이 바라보는 방향, Alignment는 속도나 사용자 벡터 등에 대한 면 내부의 정렬을 정합니다. 카메라 방향은 Niagara의 Facing Mode에서 고릅니다. PSA Facing Camera는 Cascade 계열의 이름이므로 혼용하지 않습니다.
  • 사용 예시: 불꽃의 한 조각, 연기 덩어리, 비 내리는 효과의 빗방울, 캐릭터 피격 시 발생하는 혈흔 등

메시 렌더러 (Mesh Renderer)

Mesh Renderer는 파티클을 3D 메시(Mesh) 형태로 화면에 그립니다.

작은 돌멩이가 튀는 효과, 파편, 혹은 복잡한 형태의 오브젝트를 파티클처럼 다룰 때 유용합니다.

  • 설정
    • Mesh (메시): 파티클로 렌더링할 스태틱 메시(Static Mesh)를 지정합니다.
    • Material (머티리얼): 메시에 적용될 머티리얼을 지정합니다.
    • Scale (스케일): 메시 파티클의 크기를 조절합니다. Initialize Particle 모듈의 Mesh Scale과 연동되어 초기 크기를 결정합니다.
  • 사용 예시: 폭발 시 튀는 파편, 건물이 부서질 때 발생하는 잔해, 특정 아이템이 드롭될 때의 작은 3D 모델 등

리본 렌더러 (Ribbon Renderer)

Ribbon Renderer는 같은 Ribbon ID에 속하는 파티클을 연결 순서에 따라 띠로 잇습니다. 이동하는 발생 지점에 새 입자를 남기면 궤적을 표현할 수 있지만, 입자 하나의 이동 이력을 자동으로 그리는 기능은 아닙니다.

마치 붓으로 선을 그리는 것과 같습니다.

이는 마법 주문의 궤적, 물줄기, 에너지 흐름 등 연속성과 흐름이 중요한 효과에 적합합니다.

  • 설정
    • Material (머티리얼): 리본에 적용될 머티리얼을 지정합니다.
    • Ribbon Width (리본 너비): 리본의 두께를 조절합니다.
    • Tessellation Factor (테셀레이션 계수): 리본을 얼마나 부드럽게 표현할지 결정합니다. 값이 높을수록 더 부드러워지지만 성능 부담이 커질 수 있습니다.
  • 사용 예시: 레이저 발사 궤적, 마법사의 지팡이에서 뿜어져 나오는 에너지, 자동차 타이어 자국, 연기 비행운 등

NIAGARA · CH2-3

Ribbon은 같은 그룹의 입자를 연결합니다

Ribbon ID와 연결 순서를 지정한 설명용 예시입니다. 번호는 같은 그룹에서의 순서이며, 한 입자의 과거 위치를 자동으로 저장해 그린 선이 아닙니다.

Ribbon ID · 그룹 A

그룹 A의 세 입자 연결같은 Ribbon ID의 현재 입자1,2,3을 지정한 순서로 연결합니다. 다른 ID의 그룹과는 연결하지 않습니다.123
그룹 A의 세 입자 연결같은ID의세입자를1→2→3순서로연결하며다른그룹에향하는연결은없다.123

이 그룹의 연결 순서는 1 → 2 → 3입니다. 번호는 같은 그룹의 입자 순서를 나타냅니다.

Ribbon ID · 그룹 B

그룹 B의 세 입자 연결같은 Ribbon ID의 현재 입자1,2,3을 지정한 순서로 연결합니다. 다른 ID의 그룹과는 연결하지 않습니다.123
그룹 B의 세 입자 연결같은ID의세입자를1→2→3순서로연결하며다른그룹에향하는연결은없다.123

이 그룹의 연결 순서는 1 → 2 → 3입니다. 번호는 같은 그룹의 입자 순서를 나타냅니다.

그룹 사이를 연결하지 않습니다

각 점은 현재 존재하는 서로 다른 입자입니다. 같은 ID 안에서 지정한 순서로 연결하며 그룹 A와 B 사이를 연결하지 않습니다.

궤적을 만들려면

이동하는 발생 지점에 새 입자를 남기고 그룹/순서·수명을 관리합니다. 입자 하나를 이동시키기만 해도 그 과거 궤적이 자동 생성되는 것은 아닙니다.

바인딩을 확인합니다

Ribbon ID·Link Order·Position·Width 등 렌더러가 읽는 속성과 실제 작성 값을 맞춥니다. 그룹이나 순서가 뒤섞이면 예상과 다른 띠가 생길 수 있습니다.

점과 선은 연결 관계를 단순화한 예시입니다. 실제 Ribbon의 너비·테셀레이션·머티리얼·시점에 따른 픽셀 결과나 Niagara ID의 내부 저장 형식을 나타내지 않습니다.

연결을 세어 보기

그림의 그룹 A와 B에는 각각 입자 3개가 있고, 각 그룹을 1 → 2 → 3 순서의 열린 띠로 연결합니다. 그룹 A에는 1–2와 2–3의 기본 연결 2개가 있습니다. 그룹 B도 같으므로 두 그룹을 합치면 기본 연결은 몇 개일까요? A의 마지막 입자와 B의 첫 입자를 추가로 잇는지도 판단해 보세요.

풀이 확인

(3 - 1) + (3 - 1) = 4개입니다. Ribbon ID가 다른 그룹 사이는 연결하지 않습니다. 이 수는 예시의 입자 사이 기본 연결이며, 실제 렌더링에서 테셀레이션으로 만들어지는 세부 선분·삼각형 수와 같다고 보장하지 않습니다.

라이트 렌더러 (Light Renderer)

Light Renderer는 파티클이 주변 환경에 빛을 방출하도록 합니다.

단순히 파티클 자체를 밝게 그리는 것을 넘어, 주변 오브젝트에 동적인 조명 효과를 줄 때 사용합니다.

주로 불꽃, 폭발, 스파크 등 빛을 내는 효과에 추가적으로 사용됩니다.

  • 설정
    • Light Rendering Enabled Binding: 입자별 활성 여부를 읽을 속성을 지정합니다.
    • Color Binding / Color Add: 입자 색과 추가 색 성분으로 조명 색·밝기를 조절합니다. Alpha Scales Brightness를 켰다면 알파도 밝기에 영향을 줍니다.
    • Radius Binding / Radius Scale: 입자 반경 속성과 배율로 조명 범위를 조절합니다.
  • 사용 예시: 타오르는 불꽃이 주변을 밝히는 효과, 폭발 순간의 섬광, 번개 이펙트 등


렌더러 모듈 추가 및 설정 팁

  • 렌더 섹션에 추가: 렌더러 모듈은 이미터의 렌더(Render) 섹션 아래에 추가합니다. + 버튼을 클릭한 후 원하는 렌더러를 검색하여 추가하면 됩니다.
  • 머티리얼의 중요성: 파티클의 시각적 품질은 렌더러뿐만 아니라 어떤 머티리얼을 사용하느냐에 따라 크게 달라집니다. 파티클용 머티리얼은 일반적으로 투명도(Translucent)나 덧셈(Additive) 블렌드 모드를 사용하며, 마스크(Masked) 모드를 사용하여 특정 부분을 잘라낼 수도 있습니다.
  • 여러 렌더러 사용: 하나의 이미터에 여러 렌더러를 추가하여 복합적인 효과를 만들 수 있습니다. 예를 들어, 스프라이트 렌더러로 연기 이미지를 그리고, 라이트 렌더러로 빛 효과를 동시에 낼 수 있습니다. 이 경우, 이미터의 렌더 섹션에 두 개의 렌더러 모듈이 추가됩니다.
  • 정렬: 입자 사이의 정렬은 Sort Mode, 같은 종류의 머티리얼을 사용하는 렌더러 사이의 순서는 Sort Order Hint 등을 확인합니다. Render 목록을 불투명·투명 순서로 끌어 놓는 것만으로 엔진의 렌더 패스 전체 순서를 제어할 수는 없습니다.

표시 문제와 비용 구분하기

증상먼저 확인할 것
살아 있는 입자가 안 보임렌더러 활성, 머티리얼, 크기·알파, 위치·Bounds
색·알파 입력이 반영되지 않음렌더러 바인딩과 머티리얼의 Particle Color 사용
투명 입자의 앞뒤가 튐Sort Mode와 Facing/Alignment를 구분해 확인
리본 연결이 뒤섞임Ribbon ID·연결 순서·입자 간격

비용은 표현별로 다릅니다. Sprite는 반투명 화면 면적과 오버드로우, Mesh는 인스턴스·삼각형·재질 슬롯, Ribbon은 세그먼트·테셀레이션, Light는 조명 개수·반경을 비교합니다. 렌더러를 추가할 때는 화면 기여와 증가한 비용을 함께 측정합니다.

Niagara 렌더러 설정에서 사용 중인 버전의 속성과 CPU/GPU 지원 범위를 확인할 수 있습니다.