텍스처 | 쉐이딩

Maya -> Z브러시 멀티타일 UV 텍스처링 (1)

by MoGL3D 2019. 5. 2.

Maya & Z브러시 멀티타일 UV 텍스처링 (1)


multi tile UV란, 가로 (0 ~ 1) ,세로 (0 ~ 1) 범위로 한정되어 있는 텍스처링의 범위를 확대하는 기법이다. CG를 처음 배울때만 하더라도 "한 장 안에 꽉꽉 채워라"라는 말을 많이 들었다. 왜 한장에 꽉꽉 채워야 했을까? 


가령, 주전자 모델링의 텍스처 맵이 3개라고 하자. 텍스처 맵이 3개라면, 쉐이더도 3개를 사용해야 한다. 모델링 내의 재질이 다르다면 쉐이더를 늘려야겠지만, 재질이 같은 상황에서 쉐이더 개수가 늘어나면 랜더링 시간은 길어진다. 필요없는 텍스처를 많이 사용할수록 랜더링 시간이 늘어난다. 그래서 한장에 꽉꽉 채워야 했다. 


한장에 채워진 텍스처는 치명적인 단점이 있다. 맵 크기가 4k(4096 x 4096)지만 맵을 꽉꽉 채우다보면 특정 부위의 크기는 1k도 되지 않는다. 이렇게 되면, 고해상도 모니터에서 볼 경우에 특정 부위의 랜더링 퀄러티가 떨어진다. 


멀티타일 텍스처링은, 모델링의 모든 텍스처를 랜더링 퀄러티로 만든다. 아래 사진을 살펴보자.  Maya2016부터 도입된 multi tile 텍스처 기법을 사용한다면, 하나의 모델링에 10개의 텍스처를 각 부위별로 사용할 수 있다.


모델링의 각 부위별로 맵이 들어가기 때문에 맵 사이즈가 4096이라면, 모든 부분의 사이즈가 4096이다. 가령, multi tile을 사용하지 않는다면, 맵의 사이즈가 4096이라 하더라도 얼굴이 차지하는 비율이 10분의 1밖에 안 된다면, 실제 얼굴 맵 사이즈는 500k 미만이다. (1080 hd에서 확대하는순간 이미지가 깨진다)


이번 포스팅에서는 지브러시를 활용한 마야의 멀티타일 텍스처링 기능을 알아보자. 먼저, 

마야에서 multi tile 방식으로 UV를 만들고, obj파일로 익스포트한다. z브러시에서 obj를 import하면 아래와 같은 화면이 된다.


참고사항으로는 마야에서는 총 5장으로 UV가 만들어져 있더라도 z브러시는 인식하지 못한다. 이는 에러가 아니다.

__

1 폴리그룹 만들기

우측의 폴리그룹 만들기를 선택하고, 다시 uv그룹을 선택한다.  uv그룹을 선택하면, 현재 나눠져 있는 uv별로 폴리그룹이 자동으로 생성된다. (아래사진 참조) 


폴리그룹이 생성되면, 아래처럼 ctrl + shift 동시입력을 통해 각 플리그룹별로 선택할 수 있다.

__

2 텍스처 삽입 or 맵핑

ctrl + shift키로 폴리그룹을 선택하고 난 뒤에는 아래처럼 텍스처를 삽입할 수 있다. 

__

3 폴리페인트 활성화

폴리그룹으로 해당 부위를 선택하고 난 뒤에는 반드시 폴리페인트를 활성화시켜줘야 한다. 폴리페인트를 활성화하지 않으면, 다른 폴리그룹에도 같은 텍스처맵이나 페인팅이 적용되기 때문에 반드시 폴리페인트를 활성화시켜야 한다.


참고로 subdivision 레벨을 올려야만 폴리페인트가 제대로 들어간다. (면수가 너무 적으면 해상도가 떨어진다)

__

4 폴리그룹 텍스처작업

나머지 폴리그룹에도 텍스처 작업 & 폴리페인팅을 똑같이 적용한다.


가슴과 다리에도 같은 작업을 반복한다.

__

5 맵 추출하기

아래와 같이 multi tile uv를 폴리그룹으로 분리하여 텍스처 작업을 마쳤다면, z플러그인의 멀티맵 추출하기를 클릭한다.


multi맵 추출하기에서 '폴리페인트에서 텍스처 추출'을 선택하고, 모든 맵 생성을 클릭한다.


* 추출맵 

이름을 지정하면, 아래와 같이 multi tile형식의 uv가 추출된다.

subdiv레벨을 높이면 시간이 조금 더 걸리지만 당연히 맵을 추출할 때는 subdiv레벨을 최고 단위로 높여서 추출하도록 한다.