본문으로 건너뛰기

마스크 텍스처란

이 문서를 읽으면 셰이더가 마스크를 어떻게 읽는지, 왜 흑백인지, 왜 sRGB를 꺼야 하는지 알 수 있습니다. 툴 안에서는 헤더의 ? 버튼으로 같은 내용을 볼 수 있습니다.

색이 아니라 숫자를 저장하는 그림​

마스크 텍스처는 색을 저장하는 그림이 아니라 '숫자'를 저장하는 그림입니다. 셰이더는 이 그림의 밝기(0~1)를 픽셀마다 읽어서 "이 부분에 효과를 얼마나 적용할지" 를 결정합니다.

마스크 값뜻
검정 (0)적용 안 됨 — 원본 그대로
회색 (0.5)절반 적용
흰색 (1)완전 적용

그래서 마스크에는 "예쁜 색"이 필요 없습니다. 필요한 것은 어디가 얼마나 밝은가 뿐입니다.

텍스처 하나에 마스크 네 장​

텍스처 한 장은 R / G / B / A 네 채널을 갖고 있고, 마스크는 보통 그중 한 채널만 씁니다. 그레이스케일 이미지는 R=G=B라서 어느 채널을 읽어도 값이 같습니다.

여기서 최적화가 나옵니다 — 마스크 네 장을 각각 R, G, B, A에 하나씩 담으면 파일 한 장에 마스크 네 개가 들어갑니다. 그 일을 하는 것이 컴바이너 탭입니다. → 채널과 패킹

저장할 때 반드시 확인할 것​

sRGB (Color Texture)를 반드시 꺼야 합니다

마스크는 색이 아니라 숫자입니다. sRGB 체크가 켜져 있으면 Unity가 감마 보정을 걸어 숫자값이 틀어집니다. 0.5로 구운 회색이 셰이더에서 0.5로 읽히지 않습니다.

텍스처를 선택 → Inspector에서 sRGB (Color Texture) 끄기 → Apply.

Mask Maker는 굽는 시점에 이미 올바른 설정으로 저장합니다 — 마스크는 리니어, 컬러(그라데이션·페인트 컬러 모드)는 sRGB. 외부에서 가져온 마스크를 쓸 때만 직접 확인하면 됩니다. → sRGB와 임포트 설정

해상도​

보통 512~1024px로 충분합니다. 마스크는 형태의 경계만 중요하고 세부 묘사가 필요 없습니다. 경계가 계단처럼 보인다면 해상도를 올리기 전에 dilate(아웃라인 확장) 값을 먼저 키워 보세요. → 문제 해결

어느 탭에서 어떤 마스크를 만드나​

탭만드는 것대표 용도
MatCap 광택맷캡 하이라이트(광택 모드) 또는 메쉬 오목한 부분(AO/캐비티 모드)의 흑백 마스크광택/스페큘러/림 마스크, 금속 부위 지정
그라데이션월드 방향 그라데이션 컬러 텍스처높이 기반 색 틴트(옴브레 염색)
브릿지+영역마스크랜덤 가닥 모드: 랜덤 선택된 가닥의 흑백 마스크 / 수동 선택 모드: 클릭한 가닥만 흰색인 마스크브릿지(하이라이트) 염색용 2nd/3rd 레이어, 특정 부위만 지정하는 스태킹 레이어 마스크
슬롯 분리마스크가 아니라 메쉬 자체를 다른 슬롯으로 분리완전히 다른 셰이더를 줄 부위 분리
페인트브러시로 직접 그린 마스크자동 생성이 안 되는 임의 모양 전부
컴바이너마스크 여러 장을 R/G/B/A로 합친 1장파일 수 줄이기, 마스크 합치기/채널 분리

셰이더는 마스크를 어디서 읽나​

셰이더마다 마스크를 받는 슬롯(프로퍼티)이 다릅니다. 같은 "광택 마스크"라도 lilToon은 MatCap ▸ Mask, NiloToon은 MatCap Additive ▸ Mask Map에서 읽습니다.

→ lilToon · Poiyomi · MingToon · NiloToon