[Unity] Material과 Texture

Lumos Velog·2025년 6월 3일

목표

3D프로젝트에서 사용되는 머테리얼(Material)텍스처(Texture) 의 개념에 대해 이해해보자



머테리얼(Material)?

  • 오브젝트의 표면이 어떻게 보일지를 결정하는 데이터, 이름 그대로 재료의 의미
  • 하나의 셰이더(Shader)를 기반으로, 다양한 속성 값을 통해 최종 외형을 정의

속성

  • Shader: 머테리얼이 사용할 셰이더를 지정 (예: Standard, URP Lit 등)
  • Color: 텍스처가 없을 때 사용되는 기본 색상
  • Main Texture (Albedo Map): 표면의 색상 정보를 담은 텍스처
  • Metallic / Smoothness: 금속성 여부 및 표면의 매끄러움
  • Normal Map: 표면의 디테일을 표현


텍스처(Texture)?

텍스처는 2D 이미지 데이터를 의미하며, 머테리얼에 연결되어 오브젝트의 표면을 시각적으로 표현하는 데 사용됨.

종류

  • Albedo Map: 표면의 색상 정보
  • Normal Map: 표면의 굴곡, 디테일 표현
  • Metallic / Roughness Map: 금속성, 거칠기 조절
  • Emission Map: 자체 발광 표현


머테리얼과 텍스처의 관계

  • 머테리얼: 셰이더와 속성 값들의 집합
  • 텍스처: 머테리얼의 속성을 구체화하는 이미지 자원

쉽게 말해 머테리얼이라는 외형에 텍스처라는 옷을 입힌다고 생각하자.
예를 들어 Standard Shader에서 Albedo 속성에 텍스처를 넣으면, 해당 텍스처가 오브젝트 표면에 색상 정보를 제공하게 된다.


이 글을 쓰게 된 계기이기도 한데 개인적으로 3D 게임을 개발하는데 있어 다양한 에셋들이 필요한데 에셋들마다 다른 질감을 가지고 있어 비쥬얼적인 표현이 쉽지 않다. 머테리얼과 텍스쳐의 관계를 이해하면 일반적인 쉐이더 환경에서는 대부분 대응 할 수 있게 된다.


가져온 모델에 다른 머테리얼을 적용했을때 해당 머테리얼에 텍스처가 지정되어있다면 원하는 모습을 볼 수 없지만


기존 텍스처를 적용해주면 해당 머테리얼에 원하는 모습을 적용시킬 수 있다.


0개의 댓글