[Three.js] Material

이규성·2025년 6월 15일
post-thumbnail

Material

Material은 3D 객체의 표면이 어떤 모습으로 보일지를 결정하는 요소입니다. 색상, 반사, 투명도, 질감 등 시각적인 표현 대부분이 Material을 통해 설정됩니다. 단순히 형태를 구성하는 것뿐만 아니라, 현실적인 외형을 표현하거나 독특한 스타일을 만들기 위해서는 적절한 Material 설정이 필수적입니다.

Material 종류

여러 Material들은 공통 속성을 공유하지만, 목적과 표현 방식에 따라 크게 몇 가지 유형으로 나뉩니다.

1. 조명 영향을 받지 않는 재질

  • MeshBasicMaterial: 조명 없이 항상 일정한 색상으로 보임
  • PointsMaterial: 점(Particles) 전용 재질
  • LineBasicMaterial: 선(Line) 전용 재질

2. 기본 조명 반응 재질

  • MeshLambertMaterial: 확산광만 반응하는 기본 조명 재질
  • MeshPhongMaterial: 반사광(광택)까지 표현 가능한 재질

3. 물리 기반 렌더링(PBR) 재질

  • MeshStandardMaterial : 현실적이고 널리 쓰이는 PBR 재질
  • MeshPhysicalMaterial : 고급 효과(투명, 굴절 등) 가능한 PBR 재질

4. 특수 목적 재질

  • MeshDepthMaterial: 깊이 기반 렌더링 (주로 그림자 용)
  • MeshNormalMaterial: 법선 벡터를 색상으로 표현 (디버깅용)

대표적인 공통 속성

  • color: 재질의 기본 색상
  • opacity: 투명도 설정 (0~1)
  • transparent: 투명도 적용 여부
  • wireframe: 와이어프레임 모드 활성화
  • map: 텍스처 이미지 적용
  • side: 앞면, 뒷면, 양면 렌더링 설정 (FrontSide, BackSide, DoubleSide)

성능(속도) 고려 사항

Basic > Points / Line > Lambert > Phong > Standard > Physical

0개의 댓글