본문 바로가기
Blender

Blender - Normal Map이란?

by hfgraphic 2025. 4. 13.
반응형

Normal Map은 컴퓨터 그래픽에서 표면의 세부적인 질감을 표현하기 위해 사용되는 기술입니다. 이 맵은 3D 모델의 각 픽셀에 대해 표면의 법선 벡터(normal vector)를 저장하여, 빛이 표면에 닿을 때 어떻게 반사되는지를 결정합니다. 이를 통해 실제로는 평평한 표면이지만, 마치 복잡한 질감이나 디테일이 있는 것처럼 보이게 할 수 있습니다.

Normal Map의 주요 특징

  1. 법선 벡터 저장: 각 픽셀의 법선 벡터를 RGB 값으로 저장합니다. R, G, B 값은 각각 X, Y, Z 축의 법선 벡터를 나타냅니다.
  2. 디테일 향상: 실제 지오메트리를 추가하지 않고도 표면의 디테일을 향상시킬 수 있습니다.
  3. 퍼포먼스 최적화: 복잡한 모델링 없이도 고해상도의 질감을 표현할 수 있어 렌더링 성능을 향상시킵니다.

Normal Map의 사용 예

  • 게임 그래픽: 캐릭터나 환경의 질감을 사실적으로 표현하기 위해 사용됩니다.
  • 영화 VFX: 복잡한 표면 디테일을 표현하여 현실감을 높입니다.
  • 3D 모델링: 모델의 디테일을 추가하는 데 사용됩니다.

 

왼쪽 UV Sphere 은 Normal Map이 적용되지 않은 모습이고 오른쪽 UV Sphere 은 Normal Map을 적용한 모습이다. 입체감이 차이가 크다는 것을 알 수 있다.

 

Normal Map에서 DX와 GX는 각각 DirectX와 OpenGL을 의미합니다. 두 가지의 주요 차이점은 법선 벡터의 방향입니다.

DirectX (DX) Normal Map

  • 법선 벡터 방향: DirectX에서는 법선 벡터의 Y축이 위쪽을 향합니다.
  • 사용 환경: 주로 Windows 기반의 애플리케이션에서 사용됩니다.

OpenGL (GX) Normal Map

  • 법선 벡터 방향: OpenGL에서는 법선 벡터의 Y축이 아래쪽을 향합니다.
  • 사용 환경: 다양한 플랫폼에서 사용되며, 특히 게임 엔진과 그래픽 소프트웨어에서 많이 사용됩니다.

차이점 요약

  • 법선 벡터의 Y축 방향: DirectX는 Y+ (위쪽), OpenGL은 Y- (아래쪽).
  • 호환성: 사용되는 그래픽 API에 따라 다르며, 특정 애플리케이션에서 올바르게 작동하려면 해당 포맷을 사용해야 합니다.

 

Blender에서는 OpenGL 포맷의 Normal Map을 사용하는 것이 일반적입니다. 이는 Blender가 기본적으로 OpenGL을 기반으로 하기 때문입니다. 따라서 Normal Map의 Y축이 아래쪽을 향하는 포맷을 사용해야 합니다.

Blender에서 Normal Map 설정 방법

  1. 텍스처 노드 생성: Normal Map 이미지를 불러옵니다.
  2. 컬러 공간 설정: 텍스처 노드의 컬러 공간을 Non-Color로 설정합니다.
  3. 노드 연결: 텍스처 노드의 컬러 출력을 Normal Map 노드의 입력으로 연결합니다.
  4. 노멀 출력 연결: Normal Map 노드의 노멀 출력을 쉐이더 노드의 입력으로 연결합니다.
 
반응형