머티리얼 에디터 인터페이스
그래프 에디터, 디테일 패널, 프리뷰 뷰포트, 노드 팔레트를 마스터합니다.
에디터 레이아웃 구성
머티리얼 에디터의 4대 영역
머티리얼 에디터는 콘텐츠 브라우저에서 머티리얼 에셋을 더블클릭하면 열립니다. 에디터는 크게 4개 영역으로 나뉩니다.
1. 그래프 에디터 (중앙)
노드를 배치하고 연결하는 핵심 작업 공간입니다. 마우스 우클릭으로 노드를 추가하고, 핀을 드래그하여 연결합니다.
2. 프리뷰 뷰포트 (좌상단)
머티리얼의 실시간 결과를 확인합니다. 구, 큐브, 평면 등 다양한 프리뷰 메시를 선택할 수 있습니다.
3. 디테일 패널 (좌하단)
선택한 노드 또는 머티리얼의 속성을 편집합니다. 셰이딩 모델, 블렌드 모드 등을 설정합니다.
4. 팔레트 / 통계 (우측)
사용 가능한 모든 노드 목록과 현재 머티리얼의 셰이더 통계(인스트럭션 수 등)를 표시합니다.
Space 또는 우클릭으로 노드 검색 메뉴를 열 수 있습니다. 자주 사용하는 노드의 단축키: 1~4 + 클릭 = Constant1~4, T + 클릭 = Texture Sample, L + 클릭 = Lerp, M + 클릭 = Multiply.
노드 시스템 이해
노드, 핀, 와이어의 동작 원리
머티리얼 에디터의 노드 그래프는 데이터가 우→좌로 흐르는 방향성 그래프입니다. 각 노드는 입력(좌측)과 출력(우측) 핀을 가집니다.
핀(Pin) 타입과 색상
| 핀 색상 | 데이터 타입 | 채널 수 | 사용 예 |
|---|---|---|---|
| 빨간색 | Scalar (Float1) | 1 | Roughness, Metallic, Opacity |
| 초록색 | Vector2 (Float2) | 2 | UV 좌표, 2D 방향 |
| 파란색 | Vector3 (Float3) | 3 | Base Color, Normal, Emissive |
| 노란색 | Vector4 (Float4) | 4 | 텍스처 RGBA, 커스텀 데이터 |
| 보라색 | Material Attributes | 구조체 | 전체 머티리얼 속성 전달 |
UE5는 핀 간 자동 타입 변환을 지원합니다. Scalar를 Vector3 핀에 연결하면 (S, S, S)로 확장됩니다. Vector3를 Scalar 핀에 연결하면 첫 번째 채널(R)만 사용됩니다. 명시적 변환이 필요하면 ComponentMask 또는 AppendVector 노드를 사용하세요.
주요 노드 카테고리
Constants → Constant, Constant2/3/4Vector, StaticBool
Coordinates → TexCoord, Panner, Rotator, WorldPosition
Math → Add, Multiply, Lerp, Power, Abs, Clamp
Texture → TextureSample, TextureObject, TextureCoordinate
Utility → ComponentMask, AppendVector, If, StaticSwitch
Vector → Normalize, DotProduct, CrossProduct, Transform
Material → MaterialAttributes, BreakMaterialAttributes
Parameters → ScalarParameter, VectorParameter, TextureParameter
Custom → Custom (HLSL), MaterialFunction
프리뷰와 디버깅 도구
실시간 확인과 문제 해결
프리뷰 뷰포트 활용
프리뷰 뷰포트에서 머티리얼의 결과를 실시간으로 확인할 수 있습니다.
| 기능 | 조작 | 설명 |
|---|---|---|
| 프리뷰 메시 변경 | 뷰포트 상단 메시 아이콘 | 구, 큐브, 원기둥, 평면, 커스텀 메시 선택 |
| 회전/줌 | 마우스 드래그 / 휠 | 프리뷰 각도와 거리 조절 |
| 노드 프리뷰 | 노드 선택 후 미리보기 | 개별 노드의 출력을 시각적으로 확인 |
| 실시간 업데이트 | Live Preview (기본 활성) | 노드 변경 시 즉시 프리뷰 업데이트 |
셰이더 통계 (Stats)
에디터 하단 또는 통계 패널에서 현재 머티리얼의 성능 지표를 확인할 수 있습니다.
// 머티리얼 통계 예시
Base Pass Shader:
Instructions: 128
Texture Lookups: 5
Samplers: 5 / 16
Vertex Shader:
Instructions: 42
Texture Samplers Used: 5
Material Uses:
☑ World Position Offset
☑ Normal Map
☐ Pixel Depth Offset
통계에 표시되는 인스트럭션 수는 참고용입니다. 실제 GPU 성능은 텍스처 페치 대기, 분기 예측, 캐시 히트율 등에 더 큰 영향을 받습니다. 최적화에 대한 자세한 내용은 Part 07에서 다룹니다.
디테일 패널 주요 설정
머티리얼 전역 속성 제어
메인 머티리얼 노드를 선택하면 디테일 패널에서 머티리얼의 전역 속성을 설정할 수 있습니다.
| 카테고리 | 속성 | 설명 |
|---|---|---|
| Material | Material Domain | Surface, Deferred Decal, Light Function, Volume, Post Process, UI |
| Blend Mode | Opaque, Masked, Translucent, Additive, Modulate | |
| Shading | Shading Model | Default Lit, Unlit, Subsurface, Clear Coat, Hair, Eye 등 |
| Two Sided | 양면 렌더링 활성화 (나뭇잎, 천 등) | |
| Translucency | Lighting Mode | Volumetric NonDirectional/Directional/PerVertex, Surface ForwardShading 등 |
| Refraction Mode | Index of Refraction, Pixel Normal Offset | |
| Usage | Usage Flags | Static Mesh, Skeletal Mesh, Particle Sprite 등 사용처 지정 |
UE5는 머티리얼이 특정 메시 타입에 처음 사용될 때 해당 Usage Flag를 자동으로 활성화합니다. 하지만 쿠킹된 빌드에서는 미리 설정하지 않은 Usage의 머티리얼은 사용할 수 없으므로, 배포 전에 필요한 Usage를 명시적으로 체크해 두는 것이 좋습니다.
핵심 요약
- 머티리얼 에디터는 그래프 에디터, 프리뷰 뷰포트, 디테일 패널, 팔레트/통계의 4개 영역으로 구성됩니다.
- 노드 간 데이터 흐름은 우→좌 방향이며, 핀 색상으로 데이터 타입(Scalar/Vector2/3/4)을 구분합니다.
Space또는 우클릭으로 노드를 검색하고,1~4,T,L,M등의 단축키로 빠르게 노드를 생성할 수 있습니다.- 프리뷰 뷰포트에서 실시간으로 결과를 확인하고, 개별 노드의 출력도 시각화할 수 있습니다.
- 디테일 패널에서 Material Domain, Blend Mode, Shading Model 등 전역 속성을 설정합니다.
- 셰이더 통계로 인스트럭션 수, 텍스처 샘플러 수 등 성능 지표를 모니터링합니다.
도전 과제
배운 내용을 직접 실습해보세요
머티리얼 에디터에서 Texture Sample, Multiply, Add 노드를 배치하고 연결해보세요. 각 노드의 Preview를 활성화하여 중간 결과를 확인하세요.
머티리얼 에디터 팔레트에서 'Fresnel', 'Panner', 'TexCoord' 노드를 검색하여 추가하고, 각 노드의 입출력 핀 타입(Scalar, Vector2, Vector3)을 확인하세요.
머티리얼 에디터의 Preview 뷰포트에서 프리뷰 메시를 Sphere, Cube, Plane으로 변경하며 머티리얼의 모습을 비교하고, 커스텀 메시(자신의 게임 에셋)를 프리뷰로 설정하세요.