Featured image of post 스피드트리 에서 clamp 기능을 사용하여 detail map 만들기

스피드트리 에서 clamp 기능을 사용하여 detail map 만들기

디테일 맵을 쓰려면 그 특수성 때문에 할 수 없이 clamp 맵을 사용해야 합니다.

여기서는 clamp 맵의 생성 방법과 셋팅법에 대해 알아 보겠습니다.

먼저 detail map 이 들어가지 않은 나무 상태입니다. 이미지는 누르면 커집니다.

여기에 디테일 맵을 준비합니다. 디테일 맵은, 기본적으로 다음과 같은 모양을 가지고 있어야 합니다.

디테일 맵의 이미지입니다.

알파 채널입니다.

* 디테일 맵의 사이즈는 특별히 지정되지 않았습니다. 팀에서 결정하는 것도 좋겠습니다.

기술개발팀에서 제작한 것은, 가로 사이즈만 기존의 Trunk 의 텍스쳐 사이즈와 맞추고, 세로는 적당하게 줄였습니다.

디테일 맵을 trunk 만큼 크게 사용할 필요는 없을 듯 합니다.

기본적으로,  이런 모양의 디테일 맵도 넣을 수 있습니다.

디테일 맵에서 가장 중요한 건, 윗 부분 (상단) 이 반드시 투명해야 한다는 점입니다.

그 다음 trunk 의 detail 텍스쳐 부분에 맵을 집어 넣습니다.

그렇다면 이런 그림이 나오게 됩니다.

기본적으로 텍스쳐의 좌표는 trunk 의 diffuse 텍스쳐와 동일한 좌표로 나오게 됩니다. 그렇다면 윗 그림과 같이 나오게 될 겁니다.

이제 clamp 기능을 사용해서 detail map을 만들어 보겠습니다.

간단하게 clampV 를 켜 줍니다. 그럼 아래와 같은 모양이 됩니다.

나무 밑둥에는 제대로 들어갔습니다만, branches와 trunk 에 detail map 의 흔적이 많이 남아 있습니다.

또한 나무 뿌리 부분에도 정확하지 않습니다.

이것은 다음 이유로 예상할 수 있습니다.

==================================================================

*먼저, detail map 의 높이는 v tiling 의 크기에 따라 결정됩니다.

*가로 사이즈가 작은 detail map을 만드셨다면, u tiling 으로 반복시킬 수 있습니다.

*clamp 도 v 값만 만져주면 됩니다. 크기는 0에서 1 사이이어만 합니다.

여기서 0은 detail 텍스쳐의 하단 끝부분을 의미하고, 1은 상단 끝 부분을 의미합니다.

* clamp 옵션을 켜면, 텍스쳐는 1회 (clamp옵션을 1로 지정했을때. 3이면  3회 반복됨) 출력이 되고,

그 사이즈는 v tiling 에 의존하게 되며,

남는 부분은 0이나 1의 픽셀 끝 부분 정보를 취하여 그 데이터를 늘이기 (clamp) 하여 출력하는데,

이 상황에서 알파 이미지의 특성상 좀 더 넓은 영역을 취하여 clamping 해버리기 때문에 저런 찌꺼기 현상이 남는 것으로 사료됨. (타일이나 텍스쳐 작업할 때 경계선보다 조금 더 border 처리하는 것과 같은 맥락)

*더군다나 detail 텍스쳐 사이즈가 과하게 작을 때에는 더욱 더 이런 현상이 크게 일어날 것으로 사료.

======================================================================================

때문에 이를 없애기 위해서는, clamp 값을 0~1 이 아닌, 그 사이값을 취하는 것이 좋습니다.


수치를 0.1~0.9 로  줄이자, 이런 문제점들이 완벽히 사라졌음을 볼 수 있습니다.

정리

  1. detail 맵은 윗 부분이 알파 채널로 투명한 이미지를 준비하십시오.

  2. detail 맵 세로 크기는 v tiling 으로 정할 수 있습니다. (가로 반복은 u tiling 으로 정할 수 있습니다.) 

  3. clamp v 사이즈는 0~1 이내의 수치만 사용하십시오. 0과 1은 권장되지 않습니다. 그 사이값을 사용하세요.

(clamp U 는 뭐하는 건지 잘 모르겠습니다. 사용할 필요 없습니다.)

Hugo로 만듦
JimmyStack 테마 사용 중