노멀맵을 넣어도 모델 윤곽이 그대로일 때: 디스플레이스먼트와 차이
노멀맵은 빛을 속이고, 모델링과 디스플레이스먼트는 형상을 바꿉니다. 사선에서 외곽을 확인하는 30초 진단법.
노멀맵을 넣어도 모델의 바깥 윤곽이 그대로라면 강도를 올리기보다 실제 형상을 바꿔야 하는 장면인지 확인하세요. 정면에서는 피부 주름이나 천의 골이 제법 깊어 보입니다. 조명을 돌리면 밝고 어두운 선도 따라 움직여요. 그런데 카메라를 옆으로 낮추는 순간 속임수가 드러납니다. 표면은 울퉁불퉁해 보이는데 바깥 윤곽은 매끈한 원래 메시 그대로입니다. 바닥에 닿은 부분도 눌리거나 솟지 않고, 옆으로 떨어지는 그림자에도 그 주름이 나타나지 않습니다. 흔히 “노멀맵 실루엣이 왜 안 바뀌지?”라고 막히는 장면입니다.
노멀맵은 명암만 바꾸고 실루엣은 그대로 둡니다
가장 먼저 해보는 일은 노멀 강도를 올리는 것입니다. 값이 커지면 골의 어두운 면과 밝은 면이 벌어져 입체감은 강해집니다. 하지만 옆선은 그대로예요. 해상도를 2K에서 4K로 올리거나 메시를 서브디비전해도 결과는 같습니다. 더 선명한 방향 정보와 더 많은 버텍스를 준비했을 뿐, 노멀맵이 그 버텍스를 이동시키라는 명령으로 바뀐 것은 아니기 때문입니다.
그래서 강도를 계속 올리면 뜻밖의 역효과가 납니다. 얕은 천 주름이 칼로 판 홈처럼 보이고, 빛이 돌아갈 때 명암이 뒤집히며, 정면은 거칠지만 가장자리는 매끈한 모순이 더 잘 보입니다. 울퉁불퉁함이 약하다고 강도만 밀어붙였는데 오히려 CG 티가 커지는 거죠. 노멀맵이 안 먹는 것처럼 느껴질 때도 먼저 물어야 할 것은 강도가 아니라 ‘바꾸려는 대상이 빛인가, 윤곽인가’입니다.

노멀맵은 표면의 점을 밀지 않고, 그 점에서 빛을 계산할 방향을 바꿉니다. 실제 선은 그대로인데 조명 반응만 굽은 것처럼 보이는 구조입니다.
RGB 색은 높이가 아니라 표면이 향할 방향을 담습니다
일반적인 탄젠트 공간 노멀맵의 RGB는 높낮이 한 줄이 아니라 방향 벡터를 기록합니다. 렌더러는 메시의 실제 위치에서 광선을 맞힌 뒤, 그 픽셀이 어느 쪽을 향한 것처럼 빛을 받을지 이 값으로 수정합니다. 그래서 하이라이트, 확산광, 반사의 미세한 깨짐은 달라집니다. 그러나 카메라 광선이 처음 만나는 위치, 오브젝트의 외곽선, 다른 물체와 닿는 접촉점은 기본 메시를 따릅니다.
여기서 노멀맵과 디스플레이스먼트가 갈립니다. 디스플레이스먼트는 높이값이나 벡터값으로 실제 렌더 표면 또는 메시의 점을 이동시킵니다. 따라서 옆에서 본 윤곽, 교차, 자체 그림자까지 달라질 수 있습니다. 하이폴리 디테일을 로우폴리에 베이크해 본 분이라면 익숙한 한계입니다. 베이크한 노멀맵은 명암을 옮겨 올 뿐, 로우폴리의 실루엣은 그대로 남습니다. 모서리처럼 실제 형상이 빛을 잡아야 하는 곳은 베벨이 빛을 잡는 방식에서 같은 원리를 다룹니다.
반전은 여기 있습니다. 노멀맵이 약한 기술이라서 실패한 것이 아닙니다. 모공, 잔주름, 직물 결처럼 윤곽에 거의 영향을 주지 않는 디테일에는 오히려 가장 효율적입니다. 실패한 것은 맵이 아니라 역할 배정이에요. 접힌 천의 큰 골이나 피부 덩어리처럼 실루엣을 바꿔야 하는 정보를 노멀맵에 맡긴 순간부터 화면과 기대가 어긋난 겁니다.
30초 동안 정면·사선·와이어 세 장면만 비교합니다
먼저 노멀 연결을 잠시 끕니다. Maya는 Hypershade의 노드 그래프에서 재질의 normalCamera로 들어가는 연결을 끊었다가 Undo로 되돌립니다. Blender는 Shader Editor에서 Normal Map 노드의 Normal 출력을 Principled BSDF의 Normal 입력에서 잠시 분리합니다. 3ds Max는 Material Editor에서 사용 중인 Normal 또는 Bump 맵의 Amount를 0으로 내렸다가 원래 값으로 복구합니다.
이제 카메라를 표면과 거의 나란한 사선으로 돌립니다. 연결을 켰을 때 내부 명암만 생기고 외곽선이 한 픽셀도 움직이지 않으면 정상적인 노멀맵 한계입니다. Maya는 뷰포트의 Shading > Wireframe on Shaded, Blender는 Overlays의 Wireframe, 3ds Max는 F4의 Edged Faces로 실제 메시 선도 확인합니다. 주름 무늬가 움직이는데 와이어가 그대로라면 판정은 끝입니다.
- 연결 끄기: 명암이 어떻게 변하는지 봅니다.
- 사선 보기: 외곽선이 움직이는지 봅니다.
- 와이어 켜기: 실제 면이 이동했는지 봅니다.

연결 끄기, 사선 보기, 와이어 확인의 순서로 보면 재질 문제와 형상 문제를 30초 안에 분리할 수 있습니다.
큰 주름부터 실제 형상으로 넘기고 잔결만 노멀에 남깁니다
수정은 강도를 만지는 일보다 먼저 디테일을 세 등급으로 나누는 데서 시작합니다. 첫째, 외곽을 끊거나 접촉면을 바꾸는 큰 주름은 모델링합니다. 둘째, 클로즈업에서 자체 그림자가 필요한 중간 골은 디스플레이스먼트로 보냅니다. 셋째, 윤곽에 영향이 거의 없는 잔주름과 모공만 노멀맵에 둡니다. 한 장의 하이폴리 베이크라도 이 역할에 맞춰 높이·노멀 출력을 나누는 편이 안전합니다.

Maya에서 Arnold를 쓴다면 노멀은 aiNormalMap 또는 Tangent Space Normals로 설정된 bump2d를 거쳐 재질의 normalCamera에 연결합니다. 윤곽이 필요한 높이맵은 Hypershade에서 displacementShader를 거쳐 셰이딩 그룹의 Displacement Shader에 연결합니다. 메시 Shape의 Arnold > Subdivision에서 Type을 catclark로 두고 필요한 만큼만 분할합니다. 변위가 잘려 보일 때만 Bounds Padding을 조금씩 늘립니다. 분할이 없으면 높이맵은 있어도 움직일 표면 샘플이 부족합니다.
Blender에서는 Modifiers 탭에서 목록상 Subdivision Surface를 위에, Displace를 그 아래에 둡니다. Displace의 Texture에 높이 텍스처를 지정하고 Coordinates와 UV를 확인한 뒤 Direction을 Normal로, Midlevel과 Strength를 작은 값부터 맞춥니다. Cycles의 셰이더 변위를 쓴다면 Displacement 노드를 Material Output의 Displacement에 연결하되, 역시 실제로 나뉜 표면이 필요합니다. 노멀맵은 Image Texture를 Non-Color로 읽고 Normal Map 노드를 거쳐 Principled BSDF의 Normal에 남깁니다.
3ds Max에서는 Modifier Stack의 아래쪽에 TurboSmooth, 그 위에 Displace를 놓아 분할 뒤 변위가 평가되게 합니다. Displace의 Map에 높이맵을 넣고 Strength와 Center를 조정합니다. 기존 Normal Bump는 잔결용으로 재질에 유지합니다. 세 프로그램 모두 처음부터 높은 분할값을 넣지 마세요. 최종 카메라 거리에서 외곽이 필요한 만큼만 올리고, 큰 형태는 가능하면 적은 폴리곤으로 직접 잡는 편이 수정도 빠릅니다.
| 역할 | 맡길 디테일 | 바뀌는 것 |
|---|---|---|
| 모델링 | 큰 접힘, 외곽을 끊는 형태 | 외곽, 접촉 형태 |
| 디스플레이스먼트 | 중간 크기 골 | 외곽, 자체 그림자 |
| 노멀맵 | 잔주름, 모공, 직물 결 | 하이라이트와 명암 |
큰 형태는 모델링, 중간 깊이는 디스플레이스먼트, 잔결은 노멀맵으로 나누면 품질과 계산량을 함께 통제할 수 있습니다.
실루엣이 아니라 명암이 이상하다면 다른 문제입니다
외곽은 애초에 바꿀 필요가 없는데 주름의 방향이 뒤집히거나 이음새가 번쩍인다면 원인은 다릅니다. 텍스처를 색 데이터로 읽었거나, DirectX와 OpenGL 방식의 초록 채널 방향이 맞지 않거나, 베이크할 때와 렌더할 때 탄젠트 기준이 달라졌을 수 있습니다. 이 경우 디스플레이스먼트를 추가하지 말고 색 공간, Y 채널, 탄젠트 공간부터 맞춰야 합니다.
또 외곽은 그대로인데 재질이 유난히 평평해 보인다고 모두 노멀 문제는 아닙니다. 반사할 환경이나 광원이 빈약하면 올바른 노멀도 보여줄 명암이 없습니다. 특히 금속은 주변 반사가 형태를 읽게 하므로 금속이 반사하는 주변 환경을 먼저 확인해야 합니다. 반대로 게임 엔진의 패럴랙스나 릴리프 계열 셰이더는 깊이 착시를 더 만들 수 있지만, 기본 메시의 진짜 외곽과 충돌까지 바꾸는 해결책은 아닙니다.
한 줄로 정리하면, 윤곽을 바꾸려면 방향이 아니라 위치를 움직여야 합니다
노멀맵 주름은 빛을 속이고, 모델링과 디스플레이스먼트는 형상을 바꿉니다. 사선에서 외곽을 확인한 뒤 큰 골은 형상으로 넘기고 잔결만 노멀에 남기면 됩니다.
vfx 잡학지식



댓글 0
첫 댓글을 남겨보세요.