버텍스컬러로 머티리얼 블렌딩하기 (Material Layer System 활용)

Ashred·2025년 4월 8일
post-thumbnail

프로젝트 진행하다 보면 하나의 머티리얼로 여러 텍스처를 자연스럽게 섞고 싶을 때가 많다.
특히 지형이나 환경 오브젝트처럼 재질 변화가 많은 경우엔 이게 진짜 유용하다.
언리얼 5.4에선 Material Layer System이 정식으로 통합되면서,
레이어 기반 머티리얼 구성 + 블렌딩 구조를 훨씬 깔끔하게 만들 수 있다.

이번엔 이걸 이용해서 버텍스 컬러로 텍스처를 블렌딩할 수 있는 마스터 머티리얼을 만들어봤다.

바위 모델 하나에 이끼·진흙·기본 텍스처를 블렌딩하고 싶을 때
총기/장비/건물에 파츠별로 다른 재질을 입히고 싶을 때
캐릭터의 일부에 페인트 효과를 주고 싶을 때
Modular 환경 오브젝트(벽, 파이프 등)에 유연한 재질 표현이 필요할 때
Landscape가 아닌 곳에서 “텍스처 페인팅” 같은 효과를 내고 싶을 때

목표

  1. 머티리얼 기능을 Layer 단위로 분리해서 관리
  2. Vertex Color (R 채널)를 알파값으로 사용해서 텍스처 간 블렌딩
  3. 머티리얼 인스턴스에서 레이어와 블렌드 방식 교체 가능

전체 구조

Master Material (M_LayerdMaterial)
Material Instance (MI_PropA) <- 메시에 직접 적용
Material Layer (ML_Background) <- 머티리얼을 여기서 구현한다.
Material Layer Instance (MLI_01, MLI_02 등...)
Material Layer Blend (MLB_VertexAlpha) <- 블렌드 방식

작업 순서

1. Material Layer 만들기

BaseColor: TextureSample_Grass.RGB
Normal: TextureSample_Grass_N.RGB
Roughness: Constant(0.5)

→ MakeMaterialAttributes → Result

중요한건 MakeMaterialAttributes 노드를 Output Material Attributes로 연결해야 한다는 것이다.

2. Material Layer Instance 만들기

!모델러들이 사용하는 구간
필요한 만큼 인스턴스를 복사해 텍스쳐 등을 넣어 머티리얼을 세팅해준다.

3. Material Layer Blend 만들기


Vertex Color R채널을 alpha로 받아온다.

4. Master Material 만들기

머티리얼 설정

Use Material Attributes 체크
Default Lit
MakeMaterialAttributeLayers 노드 생성

레이어 슬롯 구성
노드 선택한 상태로 Details 패널에서 + Layers 눌러 슬롯 2개 추가.

우선 Material Layer를 넣어둔 채로 이후에 Instance를 생성하여 교체하는 방향으로 진행.

5. Material Instance 만들기


디테일 패널 옆에 Layer Parameters를 누르고 만들어둔 material layer instance를 넣는다.
최종으로 만들어진 이 Material Instance를 Mesh에 넣으면 된다.

결과

Vertex Color가 0이면 돌, 1이면 잔디.

0개의 댓글