3D메쉬는 각 폴리곤 접점(vertex)마다 자기 자신의 공간을 가짐
이 폴리곤마다 normal, tangent, bitangent(bi-normal)이라고 불리는 3가지 축을 가지고,
이를 탄젠트 공간이라고 부름

Z축 : Normal, 수직인 벡터
X축 : UV에서 U로 나아가는 벡터
Y축 : Z축과 X축의 외적 벡터
그리고 탄젠트 공간은 유니티에서 normal map을 처리할 때 사용하게 됨

이런걸 normal map이라고 부르는데
텍스쳐의 높낮이는 표현하고자 할때 사용하는거임
진짜로 메쉬를 바꾸는건 아니고, 그렇게 보이도록 하는건데,
진짜 메쉬를 바꾸려면 displacement map같은걸 사용하면 됨
근데 왜 보라색임?
RGB는 0~1범위의 정규화된 값을 사용함
정규화된 벡터는 -1~1의 범위를 가짐
따라서 이를 0~1에 맞게 바꿔주는 방식이 필요함
그 공식이 가 되는거임
벡터값 계산 RGB -1 (음수 방향) (-1+1)/2 0.0 (검정) 0 (중립) (0+1)/2 0.5 (회색) +1 (양수 방향) (1+1)/2 1.0 (흰색) 평면의 normal map은 (0,0,1)의 정규화된 벡터값을 가짐 -> 굴곡이 없는 그냥 평면
공식을 이용해 표현하면 (0.5,0.5,1)이라는 벡터가 되고
이 색이 보라색임
여기에 굴곡이 붙으면 위 normal map처럼 영롱한 색이 되는거임

이렇게 머티리얼로 만들어서 사용하면 됨
픽셀단위마다 위의 공식으로 색을 계산해서
탄젠트 공간 -> 월드공간으로 이동후
빛 처리를 함