icon
6장 : 나이아가라 렌더링 기본 기법

간단한 렌더링 효과 적용하기


앞선 절들에서 우리는 파티클에 머티리얼을 적용하고, 커스텀 머티리얼을 통해 나이아가라 데이터를 렌더링에 활용하는 방법을 배웠습니다. 이제 이러한 지식을 바탕으로 나이아가라 시스템이 기본적으로 제공하는 다양한 렌더러 모듈을 활용하여 파티클에 간단하지만 효과적인 시각적 효과를 적용하는 방법에 대해 알아보겠습니다.

렌더러 모듈은 파티클이 화면에 어떻게 그려질지 결정하는 역할을 합니다. Sprite Renderer 외에도 파티클을 3D 메시로 표현하거나, 실제 빛을 방출하게 하거나, 심지어 리본 형태로 궤적을 그리게 하는 등 다채로운 시각 효과를 위한 렌더러들이 존재합니다.


주요 렌더러 모듈 살펴보기

나이아가라에서 가장 자주 사용되는 렌더러 모듈들은 다음과 같습니다.

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

가장 기본적이고 보편적인 렌더러입니다. 파티클을 2D 이미지(스프라이트) 형태로 렌더링합니다.

  • 주요 속성: Material (가장 중요), Alignment (카메라 지향, 속도 지향 등), Sort Mode (정렬 방식), SubUV (스프라이트 시트 애니메이션).
  • 활용: 불꽃, 연기, 먼지, 비, 폭발 파편, 마법 이펙트 등 거의 모든 종류의 2D 기반 파티클 효과에 사용됩니다.

Mesh Renderer (메시 렌더러)

파티클을 2D 스프라이트 대신 지정된 3D 스태틱 메시 형태로 렌더링합니다.

  • 주요 속성: Material, Mesh (렌더링할 3D 메시 지정), Scale Mode (파티클 크기 속성을 메시 크기에 어떻게 적용할지), Cull Mode (컬링 방식).
  • 활용: 물리적인 파편(돌, 나무 조각, 유리 파편), 날아다니는 곤충, 작은 건물 조각, 총알 탄피 등 3D 형태를 유지해야 하는 파티클에 적합합니다. 파티클이 회전하거나 충돌 시 현실적인 느낌을 줍니다.

Ribbon Renderer (리본 렌더러)

파티클의 궤적을 따라 얇은 리본 형태의 메시를 생성하여 렌더링합니다. 마치 파티클이 움직인 자리에 페인트를 칠한 듯한 효과를 줍니다.

  • 주요 속성: Material, Ribbon Width (리본의 두께), Facing (리본이 바라보는 방향), Tessellation Factor (곡선 부드러움).
  • 활용: 빛의 궤적(라이트 트레일), 마법 주문의 흔적, 검격 효과, 낙하하는 물방울의 흔적 등 선형적인 궤적이 중요한 효과에 사용됩니다.

Light Renderer (라이트 렌더러)

파티클이 게임 월드에 실제 빛을 방출하도록 합니다. 성능 비용이 가장 높은 렌더러 중 하나이므로 신중하게 사용해야 합니다.

  • 주요 속성: Color, Intensity (빛의 밝기), Radius (빛의 영향 반경), Cast Shadows (그림자 생성 여부).
  • 활용: 폭발 시 섬광, 마법 구체의 발광, 타오르는 불꽃의 그림자 효과 등 주변 환경을 밝히거나 그림자를 생성해야 하는 경우에 사용됩니다. 매우 적은 수의 파티클에만 적용하는 것이 좋습니다.

렌더러 모듈 적용 및 설정 방법

렌더러 모듈은 나이아가라 이미터의 Render 섹션에 추가됩니다.

렌더러 추가: 나이아가라 에디터의 개요(Overview) 패널에서 이미터를 선택한 후, Render 섹션 아래의 + 버튼을 클릭합니다. 원하는 렌더러 모듈(예: Mesh Renderer, Ribbon Renderer)을 검색하여 추가합니다.

속성 설정: 추가된 렌더러 모듈을 선택하면 디테일(Details) 패널에 해당 렌더러의 고유한 속성들이 나타납니다.

머티리얼 할당: 모든 렌더러는 Material 속성을 가집니다. 이전에 배운 방식으로 적절한 머티리얼을 할당해야 합니다. (Mesh Renderer는 3D 메시용 머티리얼, Ribbon Renderer는 리본용 머티리얼)

필요한 추가 모듈: 일부 렌더러는 파티클의 특정 속성을 필요로 합니다. 예를 들어, Ribbon Renderer는 파티클의 RibbonID 속성이 필요할 수 있고, Mesh RendererSprite Size 대신 Mesh Scale 속성을 사용할 수 있습니다. 필요한 경우 Particle Spawn 또는 Particle Update 섹션에 해당 속성을 초기화하거나 업데이트하는 모듈을 추가해야 합니다.


직접 해보기: 파편 효과를 위한 Mesh Renderer 적용하기

간단한 폭발 시 튀는 파편 효과를 위해 Mesh Renderer를 적용해 보겠습니다.

이전에 만들었던 NS_BasicSpawn 시스템을 엽니다. (또는 새로운 시스템을 만듭니다.)

기존 Sprite Renderer를 선택하고 삭제합니다. (우클릭 > Delete 또는 선택 후 Delete 키)

Render 섹션 아래의 + 버튼을 클릭하고 Mesh Renderer 를 검색하여 추가합니다.

Mesh Renderer를 선택합니다.

디테일(Details) 패널에서 Mesh 속성을 찾습니다.

  • Mesh 속성 옆의 드롭다운 메뉴를 클릭하여 SM_Cube 또는 SM_Sphere와 같은 엔진 기본 스태틱 메시를 할당합니다. (작은 파편 느낌을 위해 SM_Cube가 좋습니다.)

Material 속성에는 기본 머티리얼(DefaultMeshMaterial)을 사용하거나, 이전에 만들었던 M_SimpleFire처럼 Additive 블렌드 모드의 Unlit 머티리얼을 할당해도 됩니다. (파편에 발광 효과를 주려면)

이제 이미터의 Particle Spawn 섹션으로 이동합니다.

Initialize Particle 모듈에서 Sprite Size 대신 Mesh Scale을 제어해야 하므로, Sprite Size0.0으로 설정하거나 연결을 해제하고 Mesh Scale 속성을 찾습니다. Mesh ScaleVector3로 설정하고 X: 5.0, Y: 5.0, Z: 5.0 정도로 작게 조절합니다. (또는 랜덤 범위로 설정)

Particle Update 섹션으로 이동합니다.

Add Velocity 모듈의 Velocity Z값을 100.0 정도로 유지하고, Vector3 X, Y 값에 Random Range Float를 사용하여 -50.0 ~ 50.0 정도로 무작위 속도를 추가하여 사방으로 흩뿌려지도록 합니다.

Add Gravity Force 모듈을 추가하여 파편이 중력의 영향을 받도록 합니다.

Mesh Renderer를 다시 선택하고 Pivot Offset 속성을 Vector3로 설정하고 Z 값을 2.5 정도로 조절하여 메시의 중심이 파티클 위치에 더 정확히 일치하도록 할 수 있습니다.

이제 뷰포트에서 스프라이트 대신 작은 큐브들이 튀어 오르다 중력에 의해 떨어지는 파편 효과를 볼 수 있을 겁니다.


렌더러 조합 및 성능 고려 사항

  • 다중 렌더러: 하나의 이미터는 여러 개의 렌더러를 가질 수 있습니다. 예를 들어, 폭발 효과 이미터에 Sprite Renderer로 불꽃과 연기를 표현하고, Mesh Renderer로 파편을 렌더링하며, Light Renderer로 섬광 효과를 동시에 줄 수 있습니다.
  • 성능: 각 렌더러는 고유한 성능 비용을 가집니다.
    • Sprite Renderer는 가장 효율적입니다.
    • Ribbon Renderer는 리본을 생성하는 추가적인 메시 연산이 필요합니다.
    • Mesh Renderer는 3D 메시를 렌더링하므로, 메시의 복잡도와 파티클 수에 따라 성능 비용이 크게 증가할 수 있습니다. 특히 복잡한 메시를 대량으로 렌더링하는 것은 피해야 합니다.
    • Light Renderer는 실시간 동적 라이트를 생성하므로 가장 비용이 높습니다. 반드시 필요한 경우가 아니라면 사용을 자제하거나, IntensityRadius를 최소화하고 Cast Shadows를 끄는 것이 좋습니다.
  • 정렬 문제(Sorting Issues): Translucent 블렌드 모드를 사용하는 렌더러들은 렌더링 순서에 따라 시각적인 문제가 발생할 수 있습니다. Sort Mode 설정을 조절하거나, 렌더러의 Translucency Sort Priority를 조절하여 문제를 해결할 수 있습니다.

다양한 렌더러 모듈을 이해하고 적절히 활용하는 것은 나이아가라 효과의 시각적인 다양성을 크게 확장시킵니다. 스프라이트, 메시, 리본, 빛 등 각 렌더러의 특성을 파악하고 여러분의 의도에 맞게 조합하면, 단순한 파티클을 넘어선 풍부하고 몰입감 있는 시각 효과를 만들어낼 수 있을 겁니다.