top of page
  • 작성자 사진Nobody

(Substance Painter) Tip 메테리얼 나누기

최종 수정일: 2020년 6월 26일

이 포스트는 서브스턴스 페인터 2019.2.0 버전 기준으로 작성 되었습니다.


이번의 팁은 메쉬에 여러개의 UDIM을 사용해야 하거나, 여러개의 오브젝트 텍스처링 과정을 하나의 섭페 프로젝트 안에서 작업하고 싶거나, 섭페에서 작업하던 메쉬 데이터를 변경해야 되는 분들에 대한 팁입니다.


정말 유용한 기능들인데, 수많은 모델러분들이 올린 많은 섭페 튜토리얼에서 그다지 중요하게 다루지 않는 것 같아서 이렇게 한 번에 묶어서 포스팅을 하게 되었습니다. 사실 나중에 저도 까먹을거 같아서요 ㅎㅎ



여러개의 오브젝트를 동시에 한 섭페 프로젝트 안에서 작업하기 위해서 마야에서 스피어, 큐브, 콘을 만들었습니다.


(마야의 아웃라이너)


다음은 하이퍼쉐이드로 기본 램버트 세개를 만들어 줍시다. 꼭 램버트일 필요는 없습니다. 섭페는 여러개의 UDIM을 사용하려면 원하는 숫자 만큼 메테리얼을 만들어주면 되는 일대일 대응 구조입니다.


마야에서 lambert1은 기본 메테리얼로 고정되어있어 수정하면 버그덩어리가 되기 때문에 얌전히 아무 메테리얼 세개를 만들어주고 이름을 바꿔줍시다.



마야나 맥스에서 메테리얼을 조금만 만져보면 알 수 있는 사실이지만 위 노드처럼 메테리얼이 쉐이더로 메테리얼을 받아오는 부분이 존재하고(위 자료에서는 서피스 쉐이더로 받았네요) 마야에서는 이것을 Shading Group 라는 이름으로 따로 분류합니다.


그리고 쉐이딩 그룹의 이름을 수정해 줄 수도 있지요. 섭페에서 프로젝트를 생성하고 처음 OBJ 파일을 불러울때 이 데이터를 참조합니다.


메테리얼에 색을 넣어서 구분을 쉽게 하도록 하고 적용시켜 줍시다.


메쉬 스피어/큐브/콘에 메테리얼 mat2/3/4가 적용된 것을 확인 했습니다.


스피어/큐브/콘을 동시에 선택하고 OBJ파일로 Export 해줍시다. 이름은 아무거나 좋습니다. 저는 test.obj로 했습니다.


섭페를 열고 메쉬 데이터를 가져옵니다. Import setting을 보면 create a texture set per UDIM tile이라는 체크박스가 보이는데 UDIM을 하나만 쓰는 지금 상태에서는 체크하시면 안됩니다.


UV를 펼 때 1001뿐 만 아니라 1002 이상에 UV 데이터가 실제로 존재해야만 작동하는 기능입니다.


체크하고 프로젝트를 생성하면 위처럼 UDIM 1001에 모든 메쉬 uv를 전부 구겨넣게 됩니다.


다시 원래대로 돌아와서, 체크박스를 건드리지 않고 정상적으로 프로젝트를 생성할경우 Texture set이 위와 같이 생성됩니다.


그리고 메테리얼의 이름은 무시되고 쉐이딩 그룹의 이름이 섭페에서 UDIM의 이름으로 사용되었습니다.

쉐이딩 그룹의 이름을 바꿔서 실험했더니 예상대로 이름이 바뀌었습니다. 사실 섭페 내부에서 UDIM 이름을 자유롭게 바꿀 수 있지만 손대지 않는게 낫습니다.


예를 들어 단일 섭페 프로젝트로는 파일이 너무 무거워져서 로딩이 오래 걸릴 정도라 프로젝트를 분할해야 할 때, 메쉬 데이터를 수정해서 다시 임포트 하면 Texture Set 이름이 원래 쉐이딩 그룹 이름으로 돌아갑니다. 귀찮으니까 통일해줍시다.


위의 방법으로 UDIM을 여러개 사용할 수 있습니다.


이제 섭페에서 메쉬 데이터를 수정해서 리임포트 하는 방법에 대해 소개해드리겠습니다. 들어가기전에 데이터가 제대로 적용되는지를 판단하기 위해 베이스컬러만 써서 각각의 UDIM에 텍스쳐링을 했습니다.


일단은 메쉬에 아무 수정도 가하지 않은 상태에서 리임포트를 하고 대조해봅시다.


메뉴 - edit - Project Configuration을 누릅시다.


Preserve strokes positions on mesh 체크박스를 풀지 마세요. 이것을 체크하지 않으면 텍스처는 멀쩡한 데 마스크 레이어의 데이터가 날아갑니다.


아무것도 수정하지 않아서 메시와 텍스쳐가 리프레시만 한 번 일어나고, 메뉴중에서도 아무것도 바뀐게 없습니다. 섭페가 기존 데이터와 대조하여 아무것도 변하지 않았다는 것을 눈치챈 것이지요.


우리 섭페는 꽤나 똑똑한 친구입니다. 얼마 전까진 대칭기능도 없고 텍스쳐 비파괴 방식이라 PNG로 내보낼때 투명도를 넣을 수도 없었지만 ㅎㅎ... (알레고리드믹 툴 프로그래머들에게 존경을 표합니다)


하여간 이번에는 메쉬도 수정하고 uv도 건드려보고 버텍스에 나쁜 짓도 해봅시다~


히스토리(맥스에서는 스택)는 다 지운 상태로 Export 했습니다.


스피어는 메쉬를 늘렸고, 콘은 UV를 바꾸고, 큐브는.. 버텍스 컬러로 초록색으로 칠했습니다 ㅋㅋ


이제 리임포트 해서 결과를 볼까요?


아무 에러 없이 임포트 된 것은 물론이고 UV가 변형 된 만큼 텍스쳐 또한 섭페에서 알아서 변형해주었다는 것을 알 수 있습니다. (이렇게 섭페가 텍셀 수치를 보존해주는건 여러가지 제한이 따르긴 합니다)


그렇다면 쉐이딩 그룹의 이름만 다르다면... 어떻게 될까요? 섭페는 메쉬가 이름만 다른 완전히 똑같은 메쉬라는 것을 간파 할 수 있게 프로그래밍 되었을까요? 대충 R,G,B로 바꿔주고 실험해봤습니다.


당연히 될리가 없습니다. 툴을 사용하는 유저들의 의도가 천차만별이기 때문에 개발자 입장에서는 섭페가 똑같은 메쉬라고 추측 해주는 기능을 만들리가 없습니다. 오로지 쉐이딩 그룹의 이름으로만 같은 메쉬인지 아닌지를 판별합니다.


텍스쳐 세트 리스트가 변했습니다. 그리고 베이스컬러 채널에 들어있던 텍스쳐도 전부 날아갔습니다. 기존의 MATn UDIM 데이터들이 아래로 밀려나고 건드릴 수도 없습니다. 그러나 날아간 텍스쳐 세트 데이터를 수정된 메시에 그대로 사용하는 방법이 있습니다.



텍스쳐 세트 리스트의 세팅에 Reassigh Texture Sets가 있습니다.


여기서 일일히 수동으로 드래그 앤 드랍해서 지정 해주면 됩니다.


모든것이 원래대로 돌아왔습니다. 그리고 당연히 R,G,B 텍스쳐 세트 데이터는 살아있습니다. 안쓰는 데이터는 지워주는 것도 가능합니다. 서로 텍스쳐 세트를 섞는 것도 가능하구요. 그저 이렇게 좋은 기능들을 왜 이제야 알았나 싶습니다... 하하


조회수 4,940회댓글 0개
bottom of page