코딩/Unity

Unity : Material, Texture, Mask, Shader 개념 비교

americanoallday 2025. 9. 12. 14:04

✅ 개념 비교

용어 정의 역할 예시
Shader GPU에서 동작하는 프로그램 코드 “어떻게” 화면에 그릴지 정의빛 계산, 색상 혼합, 알파 처리 등 URP/Lit, Standard Shader, Custom HLSL Shader
Material Shader + 속성값(파라미터)의 묶음 Shader를 실제 오브젝트에 적용하는 “옷” 빨간색 금속 재질(Material) = Lit Shader + Albedo Color=Red + Metallic=1
Texture 2D 이미지(픽셀 데이터) Material 속성에 들어가서 Shader 연산의 입력으로 쓰임 나무결 무늬 Texture, Normal map, Roughness map
Mask Texture의 특수한 용도 (흑백/알파 데이터) 어떤 영역을 쓸지/버릴지, 강도 조절에 사용 알파마스크(투명도), Dirt Mask(얼룩), Height Mask(범프 강도)

 

✅ 동작 흐름

  1. Shader: “이 공을 그릴 때 빛을 이렇게 계산해라”라는 프로그램.
  2. Material: Shader를 기반으로 실제 속성값을 세팅 → 특정 오브젝트가 어떤 외형을 가질지 결정.
  3. Texture: Material 속성 중 하나. Shader에 전달되어 색상/노멀/메탈릭 등을 픽셀 단위로 바꿈.
  4. Mask: Texture의 변형된 용도. 보통 흑백 채널을 사용해서 “이 부분은 반짝, 저 부분은 거칠게” 같은 지역적 차이를 표현.

✅ 간단 비유

  • Shader = 요리법 (프로그래밍 레시피)
  • Material = 요리 재료 묶음 (요리법에 맞게 재료+양념 정리한 상태)
  • Texture = 개별 재료 (고기, 채소, 양념 → 색/무늬 이미지)
  • Mask = 조리 시 쓰는 체/필터 (이 부분만 소금 뿌려라, 여긴 빼라)

 

👉 그래서 게임 오브젝트가 화면에 보이는 과정은:

Mesh (형태) + Material (외형) → 내부적으로 Shader 코드 실행 + Texture/Mask 데이터 입력 = 최종 픽셀 색상.