머티리얼 도메인과 블렌드 모드
머티리얼의 용도를 결정하는 도메인과 투명도를 제어하는 블렌드 모드를 완전히 이해합니다.
Material Domain
머티리얼의 용도를 결정하는 첫 번째 설정
Material Domain은 머티리얼이 어떤 목적으로 사용되는지를 정의합니다. 도메인에 따라 사용 가능한 입력 핀과 기능이 달라집니다.
| 도메인 | 용도 | 주요 입력 | 사용 예 |
|---|---|---|---|
| Surface | 일반 메시 표면 | 모든 PBR 입력 | 대부분의 게임 오브젝트 |
| Deferred Decal | 데칼 프로젝션 | Base Color, Normal, Roughness 등 | 총탄 자국, 얼룩, 균열 |
| Light Function | 라이트 필터/마스크 | Emissive Color만 | 쿠키 라이트, 창문 그림자 패턴 |
| Volume | 볼류메트릭 효과 | Albedo, Extinction | 안개, 볼류메트릭 클라우드 |
| Post Process | 화면 전체 후처리 | Emissive Color | 색보정, 비네팅, 커스텀 효과 |
| User Interface | UMG UI 위젯 | Emissive, Opacity | UI 배경 효과, 로딩 화면 |
Material Domain을 변경하면 사용 가능한 입력 핀이 변경되므로 기존 연결이 끊어질 수 있습니다. 예를 들어 Surface에서 Post Process로 변경하면 Base Color, Metallic 등의 연결이 모두 해제됩니다.
Blend Mode
투명도와 렌더링 방식을 결정
Blend Mode는 머티리얼의 픽셀이 배경과 어떻게 합성되는지를 결정합니다. Surface 도메인에서 가장 중요한 설정 중 하나입니다.
| 블렌드 모드 | 렌더링 방식 | 특징 | 성능 |
|---|---|---|---|
| Opaque | Deferred | 완전 불투명. 가장 일반적인 모드 | 최고 |
| Masked | Deferred | Opacity Mask로 픽셀 단위 표시/숨김 | 높음 |
| Translucent | Forward (별도 패스) | 부분 투명, 굴절 지원 | 보통 |
| Additive | Forward (별도 패스) | 배경에 색상을 더함 (밝기만 증가) | 보통 |
| Modulate | Forward (별도 패스) | 배경 색상에 곱셈 (어둡게) | 보통 |
| AlphaComposite | Forward (별도 패스) | 미리 곱셈된 알파 (Pre-multiplied Alpha) | 보통 |
Translucent 블렌드 모드는 Forward 렌더링으로 처리되어 Deferred의 이점(효율적인 라이팅)을 받지 못합니다. 또한 정렬 문제(Sorting Issue)가 발생할 수 있으며, 오버드로우(Overdraw)가 성능에 큰 영향을 미칩니다. 가능하면 Masked 모드를 우선 고려하세요.
Masked 모드와 Opacity Mask
이진 투명도로 효율적인 컷아웃 구현
Masked 블렌드 모드는 Opacity Mask 입력값이 Opacity Mask Clip Value(기본 0.3333) 이상이면 픽셀을 표시하고, 미만이면 완전히 폐기합니다. 부분 투명은 지원하지 않지만, Deferred 렌더링의 모든 이점을 유지합니다.
// Masked 머티리얼 기본 구성
Blend Mode: Masked
Opacity Mask Clip Value: 0.3333 (기본값)
// 노드 연결:
TextureSample (잎사귀 텍스처)
├─ RGB → Base Color
└─ A → Opacity Mask
// 클립 값 기준:
// Alpha >= 0.3333 → 픽셀 표시 (불투명)
// Alpha < 0.3333 → 픽셀 폐기 (투명)
활용 사례
나뭇잎 / 풀
알파 채널로 잎사귀 모양을 잘라냅니다. Two Sided 옵션과 함께 사용합니다.
철조망 / 체인링크
복잡한 기하 구조를 간단한 평면과 마스크로 대체합니다.
디졸브 이펙트
Opacity Mask를 노이즈 텍스처와 시간으로 애니메이션하여 소멸 효과를 만듭니다.
Masked 모드에서 디더링(Dithering) 패턴을 Opacity Mask에 적용하면 부분 투명 효과를 흉내 낼 수 있습니다. DitherTemporalAA 노드와 TAA(Temporal Anti-Aliasing)를 조합하면 LOD 전환이나 캐릭터 페이드 인/아웃에 유용합니다.
Shading Model 선택
표면 유형에 따른 라이팅 모델
Shading Model은 조명이 표면과 어떻게 상호작용하는지를 결정합니다. 대부분의 경우 Default Lit을 사용하며, 특수한 표면에는 전용 모델을 선택합니다.
| 셰이딩 모델 | 설명 | 추가 입력 |
|---|---|---|
| Default Lit | 표준 PBR 라이팅. 대부분의 표면에 적합 | 없음 |
| Unlit | 조명 영향 없음. Emissive만 출력 | 없음 |
| Subsurface | 피하 산란(SSS). 빛이 표면 내부를 투과 | Subsurface Color, Opacity |
| Subsurface Profile | 고품질 SSS. 프로필 기반 피부 렌더링 | Subsurface Profile 에셋 |
| Clear Coat | 이중 레이어. 차량 도장, 코팅된 표면 | Clear Coat, Clear Coat Roughness |
| Hair | 머리카락 전용. 이방성(Anisotropic) 반사 | Scatter, Backlit |
| Eye | 눈 전용. 홍채 굴절, 각막 반사 | Iris Mask, Iris Distance |
| Cloth | 천/패브릭 전용. 벨벳 같은 림 라이팅 | Fuzz Color, Cloth |
| Thin Translucent | 얇은 투과체. 색 유리, 셀로판 | Surface Opacity |
Substrate 시스템에서는 별도의 Shading Model 선택이 필요 없습니다. Slab BSDF 노드의 입력 파라미터 조합으로 Default Lit, Subsurface, Clear Coat 등의 효과를 자연스럽게 표현할 수 있습니다. Substrate는 Part 03에서 자세히 다룹니다.
핵심 요약
- Material Domain은 머티리얼의 용도를 결정하며, Surface가 가장 일반적입니다. Post Process, Light Function 등 특수 도메인도 있습니다.
- Blend Mode는 Opaque(최고 성능), Masked(이진 투명), Translucent(부분 투명)가 핵심입니다.
- Masked 모드는 Opacity Mask Clip Value를 기준으로 픽셀을 완전히 표시하거나 폐기하며, Deferred 렌더링의 이점을 유지합니다.
- Translucent는 Forward 패스에서 처리되어 성능 비용이 높으므로, 가능하면 Masked를 우선 고려합니다.
- Shading Model로 Default Lit, Subsurface, Clear Coat, Hair, Eye 등 특수 표면 유형을 지정합니다.
- Substrate에서는 Shading Model 대신 Slab BSDF 파라미터 조합으로 다양한 표면을 표현합니다.
도전 과제
배운 내용을 직접 실습해보세요
동일한 텍스처로 Opaque, Masked, Translucent 블렌드 모드 머티리얼을 각각 만들어 동일 메시에 적용하고, 렌더링 차이와 성능 영향을 비교하세요.
Surface, Deferred Decal, Post Process 도메인으로 각각 머티리얼을 생성하고, 각 도메인에서 사용 가능한 입력 핀이 어떻게 달라지는지 기록하세요.
나뭇잎 텍스처로 Masked 머티리얼을 만들고, Opacity Mask Clip Value를 0.1~0.9까지 변경하며 시각적 결과와 Shader Complexity 뷰모드의 변화를 분석하세요.