작성
·
382
·
수정됨
0
Texture를 일반 Color Texture와 텍스쳐의 질감을 나타내는 Normal Texture로 분할함.
Normal Texture는 각 픽셀에 해당하는 Normal Vector값을 가지고 있음
Normal Texture가 푸른 빛을 띄는 이유는 RGB 값을 X,Y,Z축으로 표현할 수 있는데 Z축은 기본적으로 텍스쳐에서 조명방향이고 이를 통해 텍스처의 각 픽셀이 조명방향으로 얼마나 입체감을 나타내느냐
( ex) 움푹 파인 정도?
=> -1에 가까울 수록 움푹 파임. 1에 가까울 수록 튀어나온다?)
Texture가 덧씌워진 물체는 움직일때마다 좌표가 바뀜. 좌표가 바뀌는 것을 모두 고려하여 Normal Texture를 준비하는 것은? => 좋은 방법이 아님
그래서 기본적으로 해당 Normal Texture가 가지고 있는 좌표계가 있고 이를 TangentSpace라고 함.
접하는 평면을 기준으로 좌표계를 구함.
TangentSpace의 T, B(X축, Y축) 좌표계는
위의 그림으로 표현할 수 있음.
해당 그림의 법선벡터값을 Normal Texture에 기입함.
해당 TangentSpace를 활용하기 위해서는 카메라좌표계(우리가 바라보는) 좌표계로 변환할 필요성이 있음 TangentSpace => ViewSpace 변환
실제 Object가 움직일때 변환된 ViewSpace에서 법선벡터 값을 이용하여 Texture의 질감(움푹 패인 정도 => 곡률?)을 나타낼 수 있음.
- 기본 Texture의 법선 벡터 값을 담은 Normal Texture가 있다.
- 해당 Normal Texture는 별도의 좌표계가 있으며 이를 TangentSpace라고 부른다.
- TangentSpace에서의 법선벡터 값은 Z축(B) 에 가까운 경우가 많다. 그래서 NormalTexture는 푸른빛
(B)에 가까운 형태로 표현된다.
- TangentSpace는 NormalTexture의 별도 좌표계이므로 카메라(우리가 바라보는) View Space로 변환될 필요성이 있다.
- View Space로 변환 후 법선벡터의 값을 이용하여 텍스쳐의 질감을 나타낼 수 있다. (움푹패인 정도? => 곡률)
위의 요약이 전달해주시려는 내용을 잘 요약한것인지가 궁금합니다..
질문이 너무 장황해서 죄송합니다..
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
당신의 질문에 대한 요약은 정확하게 이루어진 것 같아요. Normal Mapping에 대한 기본적인 개념과 변환을 통해 어떻게 움푹패인 정도를 나타낼 수 있는지를 설명해주셨네요.
만약 추가적인 질문이 있다면 언제든지 물어보세요. 감사합니다.