프로그래밍/Unity

[Graphics] 노멀 맵(Normal Map)은 왜 파란색일까 ?

musiklo 2023. 12. 13. 21:15
노멀 맵은 왜 항상 파란색으로 보여질까 ?


쉐이더를 공부하다 노멀 맵이 항상 파란색으로 보여지는 이유가 궁금해서 찾아보았습니다.

그 이유는 굉장히 간단했는데, 노멀 맵이 방향을 RGB로 표현하기 때문입니다.

방향은 벡터값을 사용하는데 벡터값은 -1 ~ 1 까지이며, 이 값을 컬러(RGB)값을 사용하여 표현합니다.

컬러 값은 0 ~ 1(0 ~ 255)사이의 값을 사용하는데 x값은 Red를 표현하고, y는 Green을 표현하고, z는 Blue를 표현합니다.

아래 이미지를 통해 설명하자면, 공간 좌표계 상에서 z값은 높이를 나타냅니다. 노말 맵 상에서 굴곡을 표현할 때 높이가 0보다 낮아질 수 없기에, z값은 항상 0 이상이 되며 벡터에서의 0은 RGB 에서는 127.5 가 되기에 항상 노말 맵은 파란색을 띄고 있는겁니다.


참고

https://www.youtube.com/watch?v=7XxNj6NDI7I&t=129s