PART 05 · 강의 2/3

Material Layer Blend

Material Attributes, Layer Blend 시스템으로 모듈형 머티리얼 레이어링을 구현합니다.

01

Material Attributes

머티리얼의 모든 속성을 하나의 핀으로

Material Attributes는 Base Color, Metallic, Roughness, Normal 등 모든 머티리얼 속성을 하나의 구조체로 묶어 전달하는 시스템입니다. 이를 통해 완전한 머티리얼 세트를 하나의 와이어로 연결할 수 있습니다.

Material Attributes // MakeMaterialAttributes 노드 MakeMaterialAttributes BaseColor: [텍스처] Metallic: 0 Roughness: [텍스처] Normal: [노말맵]Material Attributes (보라색 핀) // BreakMaterialAttributes 노드 BreakMaterialAttributes Material Attributes → 개별 속성으로 분해 → BaseColor, Metallic, Roughness, Normal...
활성화 방법

메인 머티리얼 노드의 디테일 패널에서 Use Material Attributes를 체크하면, 개별 입력 핀 대신 하나의 Material Attributes 핀이 나타납니다.

02

Material Layer 시스템

레이어와 블렌드 에셋

UE5의 Material Layer 시스템은 머티리얼을 독립적인 레이어로 분리하고, 블렌드 에셋으로 결합하는 구조입니다.

에셋 유형역할설명
Material Layer개별 재질 정의독립적인 머티리얼 (돌, 모래, 금속 등)
Material Layer Blend블렌딩 로직레이어 간 블렌딩 마스크와 방법 정의
Material (Layered)최종 합성레이어 + 블렌드를 조합한 최종 머티리얼
Layer System Setup // 1. Material Layer 에셋 생성 // 콘텐츠 브라우저 → 우클릭 → Materials → Material Layer ML_Rock: 바위 레이어 MakeMaterialAttributes → Output ML_Moss: 이끼 레이어 MakeMaterialAttributes → Output // 2. Material Layer Blend 에셋 생성 MLB_HeightBlend: 높이 기반 블렌딩 입력: Material Attributes (A, B) → 높이 마스크 기반 Lerp → Output // 3. 최종 머티리얼에서 조합 Material Layer Blend Node Layer 0: ML_Rock Layer 1: ML_Moss Blend 0→1: MLB_HeightBlendMaterial Attributes
03

MatLayerBlend_Standard 활용

내장 블렌딩 함수 사용하기

UE5는 자주 사용되는 블렌딩 패턴을 머티리얼 함수로 제공합니다.

Built-in Blend Functions // 기본 제공 블렌딩 머티리얼 함수들 MatLayerBlend_Standard → 단순 알파 기반 Lerp 블렌딩 MatLayerBlend_HeightLerp → 높이맵 기반 블렌딩 (Height → 날카로운 경계) MatLayerBlend_10Layer → 최대 10개 레이어 동시 블렌딩 // Height 블렌딩이 Lerp보다 자연스러운 이유: // 높이맵을 사용하면 "먼저 튀어나온 부분"이 // 먼저 다른 재질로 전환되어 // 물리적으로 자연스러운 경계를 형성합니다
인스턴스에서 레이어 교체

Material Layer 시스템의 핵심 장점은 인스턴스에서 레이어 에셋을 교체할 수 있다는 것입니다. 하나의 마스터 머티리얼에서 바위+모래, 바위+눈, 바위+이끼 등의 인스턴스를 레이어 교체만으로 만들 수 있습니다.

04

Landscape Material과의 연동

지형 머티리얼에서의 레이어 활용

Landscape에서 Material Layer 시스템을 사용하면 페인팅 가능한 지형 머티리얼을 효율적으로 구성할 수 있습니다.

Landscape Layer Setup // Landscape 머티리얼 구성 LandscapeLayerCoords → UV 좌표 (지형 크기에 맞게 자동 스케일) LandscapeLayerBlend (노드) Layer: "Grass"ML_Grass 레이어 Layer: "Rock"ML_Rock 레이어 Layer: "Sand"ML_Sand 레이어 Blend Type: LB_HeightBlend // 높이 기반 // 인스턴스에서 각 레이어의 텍스처/파라미터 조정 // Landscape 도구에서 레이어 웨이트 페인팅
텍스처 샘플러 제한

지형 머티리얼은 레이어 수에 비례하여 텍스처 샘플러가 증가합니다. SM5에서 최대 16개 샘플러 제한이 있으므로, 레이어당 텍스처 수를 최소화하거나 Virtual Texture를 활용하세요.

SUMMARY

핵심 요약

  • Material Attributes는 모든 머티리얼 속성을 하나의 구조체로 묶어 전달합니다.
  • Material Layer 에셋은 독립적인 재질을, Layer Blend 에셋은 블렌딩 로직을 정의합니다.
  • Height 기반 블렌딩은 단순 Lerp보다 물리적으로 자연스러운 경계를 만듭니다.
  • 인스턴스에서 레이어 에셋을 교체하여 다양한 변형을 효율적으로 만들 수 있습니다.
  • Landscape 머티리얼에서 텍스처 샘플러 제한(16개)에 주의합니다.
PRACTICE

도전 과제

배운 내용을 직접 실습해보세요

실습 1: 기본 Material Layer Blend

Material Layer 2개(베이스 금속, 녹)와 Material Layer Blend 1개를 만드세요. Height Map을 가중치로 사용하여 녹이 슬 부분을 제어하고, 파라미터로 녹의 범위를 조절하세요.

실습 2: 3레이어 지형 머티리얼

잔디, 흙, 바위 3개의 Material Layer를 만들고 2개의 Blend로 연결하세요. 각 레이어의 가중치를 Vertex Color의 R, G 채널로 제어하여 런타임에 지형 페인팅이 가능하도록 구현하세요.

심화 과제: Material Layer 라이브러리 구축

프로젝트에서 재사용 가능한 Material Layer 라이브러리(금속, 나무, 직물, 돌, 플라스틱)를 최소 5종 제작하고, 하나의 마스터 머티리얼에서 레이어를 교체만으로 다양한 표면을 만드세요.