tangent space == Objectspace

 tangent space, 접선 공간 (tistory.com)

tangentspace 
비용이 싸다. 표면의 변화가 없는 오브젝트에 있어서는 사용성이 좋다. 

다면 표면이 변화하거나 objectspace가 변화할 경우 이용할 수 없다.

uv 좌표에 따른 normal map의 좌표가 의미가 없어지는 더미 데이터가 되기 때문.


normal space

비용이 비싸다. 표면의 변화가 되고 좌표가 변화해도 적용에 문제가 없다.

각각의 uv 에 대한 height값을 3차원 vector의 2차원 배열로 (normal & tangent) 저장하기 때문


공통

normal map의 데이터는 -1~1의 vector 값이지만 그대로 저장할 수 없기 때문에

rgb채널에서 가용한 0~1데이터로 보관하게 된다. 따라서 이를 이용하기 위해서 unpack을 진행해야 하는데 unpack을 하면 결국 result = insert * 2 -1이라는 수식의 결과값이 나오는 것이다.

[Sementic]

법선 vector : NORMAL / tangent : TANGENT / bitangent : BINORMAL


댓글

이 블로그의 인기 게시물

About AActor!!! "UObject" has no member "BeginPlay"

UNREAL Android build information

C++ 생성자 위임 (delegating constructor)