노말맵은 하이 폴리곤의 버텍스 위치를 벡터화 시켜 로우 폴리곤의 벡터에 적용하는 픽셀단계의 벡터 속임 기법입니다.
덕분에 노말맵의 절대적 단점이 생기게 되는데, 그것은 ‘미러링을 할 수 없다’ 라는 것입니다.
즉 symmetry 기능을 써서 좌우대칭으로 모델링을 했을때, 다른 텍스쳐들은 좌우대칭을 해도 별 문제가 없지만 노말맵만은 좌우대칭을 하면 X 축 (U값. 맞나?) 이 좌우로 뒤바뀌게 되어
볼록 튀어 나와야 할 무릎이 반대쪽은 오목하게 들어가는 현상등이 일어나게 되는 것입니다.
즉 이렇게 하나의 텍스쳐에 양쪽 다리를 Unwrap을 하면

아래처럼 노말맵의 X 축 (Red값) 도 좌우대칭이 되어 버립니다.
(크게보면 좀 더 잘보이지만 비공개 프로젝트라 짤라서 일부만…)
위 그림은 노말맵의 X축 (Red) 값만 보이도록 처리한 것입니다. (normalmap.rrr)
저렇게 노말맵이 좌우대칭이 되면서, 한 쪽에서 빛을 받으면 계산이 이상하게 됩니다. 튀어나와야 하는 부분이 오목하게 보인다던가 하게 말이죠.
이렇게 말입니다. 프로그래머들은 뭐가 이상한지 못찾던데 OTL 아니 딱봐도 이상하잖아요. 아참 나도 프로그래머지.
그래픽스 하시는 프로그래머분들은 알아볼 수 있으실듯. 왼쪽 무릎이 튀어나온게 아니라 들어가 버렸습니다.
그래서 뭐 어렵지 않은 처리로 …
힌트는 UV를 이렇게 배열하는 것.
비대칭으로 한 장 더 그리는게 아니라, 타일링된 UV 배열만 옆으로 이동시키면 U 값이 1을 넘어간 것을 인식하여,
그 부분에서만 노말맵의 R 값을 뒤집어 주게 만들었습니다.

짜잔. 노말맵이 좌우대칭이 아닙니다. 제대로 되었습니다.
결과물도 다음과 같이 해피해피

텍스쳐 추가도 필요 없고 그냥 UV 좌표만 이동시켜 주는 것으로 해결 완료.
이제 그래픽팀은 마음놓고 Symmetry를 쓰시오 ~~~