렌더링·아트 파이프라인: URP/HDRP·조명·셰이더 입문

유니티 렌더링·아트 파이프라인: URP/HDRP · 조명 · 셰이더 입문

목표: 유니티에서 ‘시각적 완성도’를 결정짓는 세 가지 핵심 축 — 렌더 파이프라인(Render Pipeline), 조명(Lighting), 셰이더(Shader) — 를 이해하고, 프로젝트에 적합한 아트 파이프라인을 선택·구성하는 방법을 익힙니다. 이 장은 게임이 “보이는 방식”을 기술적으로 제어하기 위한 출발점입니다.

1. 렌더 파이프라인(Render Pipeline) 개요

유니티의 렌더링은 “파이프라인”이라는 체계적 구조를 통해 수행됩니다. 렌더 파이프라인은 씬의 오브젝트, 조명, 머티리얼 데이터를 GPU로 전달하는 규칙이며, 세 가지 주요 유형이 존재합니다.

1.1 세 가지 렌더 파이프라인 비교

종류특징권장 용도
Built-in RP기본 렌더러, 커스터마이징 어려움레거시 프로젝트, 단순 2D
URP (Universal RP)모바일~PC 범용, 성능 최적화 중심대부분의 상용 게임, 크로스플랫폼
HDRP (High Definition RP)고품질 PBR, 물리 기반 조명 및 반사콘솔, PC, 시네마틱 프로젝트

1.2 선택 기준

  • 📱 모바일, 인디 게임 → URP
  • 🎮 하이엔드 그래픽, 리얼타임 영상 → HDRP
  • 🕹️ 기존 프로젝트 유지보수 → Built-in
💡 Tip: 프로젝트 시작 시 반드시 파이프라인을 결정해야 합니다. 파이프라인 전환은 머티리얼·셰이더 호환성 문제로 인해 후반 변경 시 위험이 큽니다.

2. URP(Universal Render Pipeline): 범용 렌더링의 표준

URP는 가볍고 효율적인 파이프라인으로, 모바일부터 콘솔까지 동일한 시각적 품질을 구현할 수 있도록 설계되었습니다. 모든 현대 유니티 프로젝트의 기본 선택지입니다.

2.1 URP 설치 및 세팅

  1. Window → Package Manager → Universal RP 설치.
  2. 프로젝트 세팅에서 Graphics → Scriptable Render Pipeline Settings에 URP Asset 지정.
  3. URP용 Material Upgrade 실행으로 기존 머티리얼 변환.

2.2 URP의 장점

  • 렌더링 효율 최적화 (SRP Batcher 지원).
  • 간소화된 셰이더 관리 (Shader Graph와 호환).
  • 2D Renderer와의 통합 지원.

2.3 URP 렌더러 구성

Renderer Data ├─ Forward Renderer │ ├─ Opaque Layer Mask │ ├─ Transparent Layer Mask │ └─ Post-Processing └─ 2D Renderer (선택적) 

URP에서는 카메라별로 렌더러를 할당할 수 있습니다. 예를 들어, 메인 카메라UI 카메라를 분리하면 성능 최적화가 가능합니다.

3. HDRP(High Definition Render Pipeline): 고품질 시각 효과

HDRP는 사실적인 물리 기반 렌더링(PBR)에 초점을 맞춘 고사양 파이프라인입니다. 실제 조명, 반사, 볼륨 효과를 시뮬레이션하여 시네마틱 수준의 비주얼을 제공합니다.

3.1 HDRP의 핵심 기술

  • Physically Based Lighting — 실제 물리 단위(lux, lumen) 기반 조명.
  • Volumetric Lighting — 안개, 빛기둥, 깊이 효과 표현.
  • Screen Space Reflection (SSR) — 표면 반사 시뮬레이션.
  • Deferred Rendering — 많은 광원을 효율적으로 처리.

3.2 HDRP 조명 세팅 예시

// HDRP 조명 기본 세팅 예시 Directional Light (Main Light) ├─ Mode: Realtime ├─ Intensity: 10000 lux ├─ Shadows: Cascade 4, Soft ├─ Volumetrics: Enabled └─ Contact Shadows: Enabled 
⚙️ 실무 팁: HDRP는 실제 단위(lux, candela)를 사용하므로, “눈으로 보기 좋은 값”이 아니라 “물리적으로 타당한 조도 값”을 기준으로 설정하는 것이 중요합니다.

4. 조명 시스템(Lighting System)

조명은 단순히 밝기를 조절하는 요소가 아닙니다. 장면의 분위기, 시선 유도, 감정 표현을 담당합니다. 유니티의 조명 시스템은 실시간 조명베이크드 조명의 두 가지 방식을 지원합니다.

4.1 조명의 종류

  • Directional Light — 태양광 등 무한 거리 광원.
  • Point Light — 전구, 랜턴 등 구형 광원.
  • Spot Light — 손전등, 무대 조명 등 원뿔형 광원.
  • Area Light (HDRP 전용) — 형광등, 빛 패널 같은 평면광.

4.2 Lightmapping (베이크드 조명)

정적인 오브젝트의 조명 효과를 미리 계산하여 텍스처에 저장하는 방식입니다. 실시간 연산을 줄여 퍼포먼스를 향상시킵니다.

Lighting Settings ├─ Lightmapper: Progressive GPU ├─ Indirect Samples: 512 ├─ Lightmap Resolution: 40 texels/unit └─ Ambient Occlusion: Enabled 

4.3 Post Processing

  • Bloom — 빛의 번짐 효과.
  • Color Grading — 톤매핑, 감마 조정.
  • Depth of Field — 초점 표현.
  • Vignette — 주변 어둡게 처리로 시선 집중.
🎨 조명 설계 원칙:
  • 기본광(환경) → 주광 → 보조광 → 강조광 순서로 배치.
  • 빛은 단순히 밝기가 아니라 색 온도(Temperature)방향성으로 장면 감정을 전달합니다.

5. 셰이더(Shader) 입문: 재질과 표현의 언어

셰이더는 GPU에게 “어떻게 보일 것인가”를 지시하는 프로그램입니다. 머티리얼(Material)은 셰이더를 기반으로 데이터를 전달하는 컨테이너 역할을 합니다.

5.1 셰이더의 종류

  • Surface Shader — Built-in용 전통적 구조.
  • Shader Graph — 노드 기반 비주얼 셰이더 편집기 (URP/HDRP 공용).
  • Compute Shader — GPU 병렬 연산용 (고급).

5.2 Shader Graph 기본 구조

Shader Graph Nodes ├─ Texture2D Sample (Albedo) ├─ Normal Map ├─ Metallic / Smoothness ├─ Emission └─ Master Stack (URP Lit) 

각 노드는 입력값을 받아 최종 색상 출력으로 연결됩니다. 논리적으로 보면 ‘머티리얼의 수학적 방정식’이라 할 수 있습니다.

5.3 셰이더 실습 예시 (URP Lit Shader)

Shader "Custom/SimpleColor" { SubShader { Tags {"RenderType"="Opaque"} Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag struct appdata { float4 vertex : POSITION; }; struct v2f { float4 pos : SV_POSITION; }; v2f vert (appdata v) { v2f o; o.pos = UnityObjectToClipPos(v.vertex); return o; } fixed4 frag (v2f i) : SV_Target { return fixed4(0.2, 0.6, 1.0, 1.0); } ENDCG } } }

이 간단한 셰이더는 모든 표면을 단색으로 렌더링합니다. 이를 통해 GPU 파이프라인의 기본 동작을 시각적으로 확인할 수 있습니다.

💡 Tip: Shader Graph를 통해 셰이더의 개념을 시각적으로 이해하고, 이후 수동 코딩으로 확장하는 접근이 가장 효과적입니다.

정리: 렌더링은 ‘물리’와 ‘미학’의 교차점

URP/HDRP 선택은 프로젝트의 기술적 한계를, 조명과 셰이더 설계는 창의적 표현의 영역을 결정합니다. 이 두 세계가 만나는 지점이 바로 아트 파이프라인입니다.

결국 렌더링은 “빛을 이해하는 일”이며, 셰이더는 그 빛을 조각하는 도구입니다.

다음 학습 추천:

Comments