45. 기술: Hybrid Forward/Deferred 아키텍처
[A/B] 하이브리드 구조는 “효과를 더 붙이는 옵션”이 아니라, 월드와 캐릭터가 서로 다른 목표(효율 vs 제어)를 갖는 상황에서 프레임을 분할해 공존시키는 설계입니다. 이 장은 그 분할 기준을 URP의 계약(pass/event) 관점으로 정리합니다.
목적
- [A/B] 대형 월드의 조명 효율과 캐릭터 NPR 제어성을 동시에 확보한다.
- [A] 공개 인터뷰에서 확인되는 혼합 경로 단서를 URP 설계 규칙으로 정리한다.
증거 등급 요약(A/B/C)
- [A] 공식 인터뷰/플랫폼 발표에서 deferred 계열 + 캐릭터 특수 경로 분리 단서가 확인된다.
- [B] 역분석에서 "배경은 물리 기반, 캐릭터는 선택 보정" 구조가 반복된다.
- [C] 실제 엔진 내부 one-pass defer 세부 구현은 비공개 영역이 많다.
핵심 개념
이론 배경
- [A/B] Hybrid 구조는 효과 추가가 아니라 서로 다른 최적화 목표를 같은 프레임에서 공존시키는 분할 전략이다.
- [B] 월드는 광원 수/면적, 캐릭터는 재질 일관성/표정 판독성이 주요 지표라 단일 경로가 비효율적이다.
- [C] one-pass defer 세부 구현이 비공개여도 입력/출력 계약 기준으로 URP 근사 설계를 만들 수 있다.
핵심은 "불투명/배경 최적화"와 "캐릭터 룩 고정"을 파이프라인 레벨에서 분리하는 것이다. [A/B]
| 구간 | 권장 경로 | 이유 |
|---|---|---|
| Opaque 월드 | Deferred 또는 Forward+ | 다광원/대면적 조명 효율 |
| 캐릭터 본체 | Forward | Face/Hair/Outline 세밀 제어 |
| 투명 액세서리 | Forward + OIT 선택 | 정렬 안정성과 비용 균형 |
| 후처리 | 공통 + 캐릭터 선택 보정 | 톤 일관성과 가독성 동시 확보 |
TEXT
Frame Graph (권장)
1) Opaque(Deferred/Forward+) -> depth 확보
2) Character Forward (face/hair/NPR)
3) Transparent/OIT(optional)
4) Scene Grade
5) Character Selective Grade + Temporal Resolve
- [B] Character 경로는 pass 수를 늘리되, 배경 경로는 조명 효율 우선으로 단순화한다.
- [A/B] Mobile tier는 전면 Forward+로 단일화하고 캐릭터 선택 보정 강도만 유지한다.
결론: Hybrid는 ‘순서’와 ‘색공간’을 먼저 고정해야 성공한다
- [A/B] 어떤 경로를 쓰든, 캐릭터와 배경이 “언제 톤매핑/후처리를 공유하는지”가 이질감을 결정한다.
- [B] 그래서 문서/코드에서
World/Character/Transparent/Post의 경계를 명시하고, 각 경로의 필수 pass(DepthNormals/MotionVectors 포함)를 체크리스트로 관리한다.
URP 매핑 포인트
설계 해석
-
[A/B] 경로 분리 시 가장 먼저 고정할 항목은 pass 순서와 색공간 처리 지점이다.
-
[B] 플랫폼 티어는 기능 on/off보다 샘플 수/해상도/패스 수를 줄이는 방식이 룩 보존에 유리하다.
-
[A] pass 계약:
- Opaque 경로:
UniversalGBuffer(deferred 사용 시) - 캐릭터 경로:
UniversalForward,ShadowCaster,DepthOnly,DepthNormals,MotionVectors
- Opaque 경로:
-
[B] RendererFeature 배치:
BeforeRenderingTransparents: 캐릭터 마스크/특수 패스AfterRenderingPostProcessing: 선택 보정/temporal 정리
-
[B] 품질 티어:
- Tier A(PC/Console): Hybrid full
- Tier B(중급 모바일): Forward+ + 선택 보정
- Tier C(저사양): 단일 Forward + 간소화 램프
실패 패턴/오해
- [A/B] Hybrid를 "효과를 더 붙이는 옵션"으로만 취급해 계약(pass/order)을 문서화하지 않는다.
- [B] 캐릭터와 배경의 색공간/톤매핑 타이밍이 달라 경계 이질감이 생긴다.
- [C] 플랫폼 티어 분리 없이 단일 품질 목표로 밀어붙여 프레임 드랍이 누적된다.
실무 체크리스트
- 렌더링 경로를
World/Character/Transparent/Post