안동민 개발노트

본문 시작

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

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

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

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

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

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


렌더러 모듈의 중요성

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

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

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

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

하나의 이미터는 여러 개의 렌더러를 가질 수 있으며, 활성화와 바인딩 조건을 만족하는 렌더러가 같은 데이터를 각자의 방식으로 사용합니다. 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 (테셀레이션 계수): 리본을 얼마나 부드럽게 표현할지 결정합니다. 값이 높을수록 더 부드러워지지만 성능 부담이 커질 수 있습니다.
  • 사용 예시: 레이저 발사 궤적, 마법사의 지팡이에서 뿜어져 나오는 에너지, 자동차 타이어 자국, 연기 비행운 등

라이트 렌더러 (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 지원 범위를 확인할 수 있습니다.