[Substance Painter]
참고영상: https://www.youtube.com/watch?v=H1zFVP4CDrU&t=2434s&ab_channel=ZBMAND
~New project 불러오기~
만든 후에도 다시 바꿀수 있다.
개인작업할 때는 OpenGL추천
Compute Tangent Space Per Fragment는 노말맵 계산 방식인데 유니티는 비활/언리얼은 활성화 체크하면 됨.
F1 뷰포트 둘 다 보기
F2/F3 3D 뷰포트/UV 뷰포트만 보기

~교체하기(Merge개념)~
[같은 UV, Metrial 공유하는 메쉬 추가하기]
모델링 프로그램에서 카피하고 두 오브제를 선택, 익스포트하여 저장한다.
섭페에서 Edit-Project Configuration에서 파일을 가져온다.
=> 한 곳만 페인트해도 반대 쪽도 같이 공유한다!

[다른 UV, Metrial 메쉬 추가하기]
모델링 프로그램에서 먼저 합치고 둘 다 셀렉하여 익스포트
가져오는 방식은 위와 같음.
==>페인팅 메쉬 교체로 할 때는 텍스쳐 들어가기 전에 교체하고, 섭페 텍스쳐 방식은 UV가 아닌 오브제 위치기반으로 이루어지기 때문에
      텍스쳐 시작하기 전에 올바른 포즈로 교체를 한 후 진행하는 습관을 가져야 한다.

~텍스쳐 해상도~
해상도는 크게 작업뷰포트 해상도, 베이크 해상도, 맵추출 해상도로 나눠진다. 
1. 뷰포트 해상도: 사이즈가 크면 더 구체적인 묘사 가능 (Texture set settings) -2048이 디폴트
2. 베이크 해상도: Output Size는 보통 4096
3. 맵추출 해상도: Ctrl + Shift + E 베이크 해상도와 맞추는 것이 좋다.

~쉐이더~
보통 알파 블렌딩 쉐이더 (오파시티 채널 사용할 때) -> Texture set setting - Channel에서 +로 추가할 수 있다. 

~채널~
Opacity - 마스크 기능 응용해서 구멍 뚫린거 표현할 수 있다.
-> Op 채널이 100으로 된 Fill Layer에 블랙 마스크를 적용시키고 마스크에 Add fill 영역 만들기(add fill은 무조건 회색으로 들어가기 때문에 반투명이 됨 - 
 - add fill 레이어-Grayscale에 원하는 모양 브러쉬 끌어 넣거나 리소스에서 선택한다. (UV Wrap은 None으로 해야 하나만 적용 됨) 두께도 변형가능
Emissive - 두가지 설정이 필요하다.
-> Em채널만 활성화된 필레이어 준비하기 - 위 Opacity와 같이 add fill로 넣는다 - Shader settings에서 Emissive intensity 조정 - Display seettings에서
Acrivate Post Effects 활성화 후 Glare효과 조정하기

~베이크하기~ (무조건하기)
로우메쉬에 하이메쉬란 옷을 입히는 작업
하이폴리 OBJ파일을 Distance를 0.03(디폴트) 정도 올려 Bake한다.
M: material 표시
B: 다음 메쉬맵 표시 (AO, CV, IDmap..)
C: 다음 채널 표시 (베이스, 러프니스, 메탈릭..)
M,B,C를 눌러 위와 같이 확인할 수 있다.

[기본 용어 정리]
Normal : 하이메쉬 데이터를 가진 파랑색 맵
World Space Normal : 오브젝트 공간의 데이터를 가진 모든 색상 노말맵
Ambient Occlusion : 빛과 그림자의 정보 가진 흑색 맵
Curvature : 튀어나옴과 들어감 정보를 가진 곡률 맵
Position : 수직 위치에서 바닥하고의 거리정보를 가진 맵
Thickness : 검은색 -> 얇은, 흰색 -> 두꺼운 두께를 표현한 맵

-베이크 종류 (Match)-
Always: 현재 오브젝트들의 위치를 기반으로 베이크 (OBJ사용)
->이름으로 나뉘어져 있지 않기 때문에 메쉬간의 간섭이 일어날 수 있다. (복잡하지 않으면 Distance잘 조절해서 잘 뽑을 수 있다.)

BY Mesh Name: 오브젝트의 이름을 매칭시켜서 베이크 (FBX사용)
-> 오브젝트 이름을 매치시켜 베이크한다.
   베이크를 위한 FBX파일 이름은 a_low, a_high로 지정해놓는 것이 포인트
*반드시 지브러쉬, 섭툴 맨 위 메쉬 이름을 확인한다! (가장 상위 메쉬 이름이 ztl이름으로 자동변경되기 때문)
*지브러쉬에 Zplugin 안에 FBXexport 메뉴에서 추출할 수 있다.
*AO메뉴에서 ignore Backface 해제하기!! (겹쳐진 메쉬가 하얗게 나옴)

=> 여기서 페인트용 메쉬(?)로 교체할려면 페인트하기위한 포즈를 준비해야 한다.
Edit - Projection 에서 페인팅 포즈로 교체한다. (같은 Material 이름, 같은 UV여야만 교체가 잘 이루어진다.)

~Cage 오브젝트에 대해~
손가락 사이 처럼 오브젝트 덩어리에서 서로 영향이 갈만한 곳에 케이지 메쉬를 넣어준다.

1. 오브젝트를 살짝 부풀려 케이지 메쉬로 사용한다! (W이동키에서 버텍스 - Normal 방향으로 설정하면 부풀리는 작업이 가능하다.)
2. Bake에서 Use cage 체크
3. Cage OBJ 파일을 넣고 베이크한다.

~ID맵을 얻는 방법~
섭페안에서의 재질 영역나누기는 마스크와 ID맵 중 선택해서 진행하면 된다.

[ID맵] - ID 정보를 가진 메쉬는 OBJ로 추출한다. (By Mesh Name으로 베이크 한 뒤, IDmap 정보를 가진 메쉬 넣어서 다시 베이크한다.)
Select id map에서 넣을 수도 있고 Bake 옵션에서도 넣을 수 있다.
버텍스 컬러 - 지브러쉬
Material 컬러 - 마야, 맥스

 

-지브러쉬에서 베이크하기 (ID)- (아직 지브러쉬 공부 전이라 필기만..)

폴리그룹으로 나눠진 오브젝트에 컬러값을 넣기 (섭툴에 있는 연필 마크를 활성화 해야 컬러가 보임)

이렇게 영역을 나누어 베이크를 한다. (이름 베이크를 할 때는 레이어 이름을 다시 꼭 확인)

*ID map 정보를 가진 메쉬는 OBJ로 밖에 넘어가지 않기 때문에 이름 베이크가 안됨. OBJ always 베이크만 가능

By Mesh Name으로 베이크를 한 뒤, IDmap 정보를 가진 메쉬를 넣어서 다시 베이크하면 됨.

 

*IDmap을 넣고 나서는 스마트 메테리얼을 컨트롤 누른채로 IDmap에 바로 적용할 수 있다!

Tip. 쉐어에서 무료로 받을 수 있는 MaskShift 필터로 영역조절을 해보자...

-> https://share.substance3d.com/libraries?utf8=%E2%9C%93&q%5Bname_or_tags_name_or_description_cont%5D=maskshift&button= 

 

Substance Share « The Free Exchange Platform »

Substance Share « The Free Exchange Platform »

share.substance3d.com

-> https://www.youtube.com/watch?v=IP_SFVqkrZE&ab_channel=ZBMAND

 

-Substance painter에서 얻기(마스크이용)-

fill layer를 두 개 만든다.

하위 레이어 베이스컬러에는 기존 ID맵을 넣고 상위 필레이어에는 원하는 베이스컬러 색을 지정한다.

상위 레이어에 블랙 마스크를 걸고 거기에 add filter를 적용하여 알파 채널이든 적당한 stencil을 넣어 페인트한다.

Stencil의 정의

Export를 아래와 같은 프리셋 설정으로 한다.

이렇게 익스포트하면 난해한 UV가 추출되는데 그냥 고대로 import해주면 된다.

위와같은 UV가 나왔다. 그대로 Import

위와 같이 급조한 UV도 빠른 텍스쳐 작업을 할 때 좋을 듯...

 

~IDmap의 영역 별로 색칠하는 방법~

레이어를 새로 만들어 블랙 마스크를 씌우고 add color selection을 하여 원하는 섹션을 pick한다.

그리고 마스크 밑에다 색칠하면 됨.

Tolerance를 적당히 조절하고 maskshift같은 필터도 적당히 섞어 영역을 깔끔하게 정리하는 것도 잊지말기!

 

*위 방법들 외에 포토샵에서도 제작이 가능하다

 

~필레이어와 페인트레이어~

필레이어가 주기능, 페인트는 조건부사용

[페인트레이어]

앵커포인트, 스탠실(도장찍듯이하는거), 이미지 프로젝션 정도만 사용

페인트레이어는 그리기 전에 러프니스,메탈릭,베이스컬러 등등 옵션을 지정해주어야 한다.

문양을 그리기엔 적합하지 않음.

 

[필레이어]

기본: 필레이어 생성 - 블랙 마스크 - add fill

 

문양 그리기: 필레이어 생성 - 원하는 베이스 컬러 지정 - 블랙 마스크 - add paint 하여 문양 그리기

이렇게 필레이어를 이용해 한 작업은 모든 채널이 수정 가능하다! (러프니스,메탈릭,높이 등등)

여기에 부수적으로 필터 등등 작업 용이하다.

 

~마스크 (주기능)~

섭페는 거의 마스크 관리 툴이다.

시작은 필레이어, 여기에 블랙/화이트/비트맵 마스크 등등...

Alt+좌 클릭으로 마스크 영역만 볼 수 있다.

 

[필 마스크]

더티, 프로듀시얼 맵 등을 넣을 수 있다.

 

[제네레이터]

마스크에 씌우며, 기본적인 기능들이 있음. 대표적으로...

-커버쳐: Curvature맵이 마스크가 된다.  *Curvature map(곡률맵)

-메탈엣지: weathering 기능(더럽혀진 텍스쳐)

-UV Border Distance: 나뉘어진 UV 외곽라인에 마스크

-Auto Stitcher: UV 라인에 스티치를 넣어줌. (제봉선 같은 느낌, 사이즈 길이 등등 설정 가능)

넣은 후 필요없는 부분은 마스크에 add paint해서 검은색으로 칠해 지워준다.

-UV Random Color: UV를 베이스로 색을 랜덤하게 표현하고 싶을 때

 

[Blur]

Paint나 fill이 병행되어야 한다. 또 상위에 위치해야 한다.

 

~스마트 마스크~ ★★★★★

추천 마스크

Edge Rust: 러프니스 좀 줄여서 때 묻은 느낌

Paint Old: 더티 넣을 때

Sand: 모래같은

Surface ~두 개: 페브릭같은 Normal에 쓰임

그 외에도 사용해보기!

 

~베이스 Material 사용하기~

(베이스도 강력하지만 소스나 쉐어에서 받아 쓸 수도 있다)  * Substance source는 유료

1. 텍스쳐 사이즈 조절하기! 줄이는 것이 자연스러움

2. 색깔 조절해보기, 러스트 넣어보기

3. 그 외에도 건드려보자

 

~스마트 Material 사용하기~ ★★★★★

스마트메테리얼을 공유해서 개발을 단축시킨다.

베이크로 얻은 맵들을 이용해서 영역과 더티 웨더링을 계산한다.

추천 재질

Bone Stylized: 단순, 베이스에 더티, 러프니스

Military metal(쉐어): 갈색 철색깔, AO영역의 더티

Iron forged old: 은색 철색깔, 더티

*직접 제작해서 쓰는 방법도 있음!

-> youtu.be/nBa0ryryV1I

 

~포토샵같이 필터사용하기~

보통 필터는 add paint 위에 올라간다. 

추천 필터

blur: 흐림

warp: 왜곡

HSL perceptive: 뒤에 마스크가 아닌 앞에 붙는다. 마스크 아래에 색깔을 바꿀 때 사용

Baked Lighting Stylized: 현재 라이팅을 3D데이터에 굽는 필터

MaskShfit: IDmap 영역수정 Color selection과 같이 쓰임

Matte Erode: 영역을 크게 만든다. 문양만들 때 사용 (네모안에 다른 색깔 네모 만든다던지...)

 

~앵커포인트로 마크넣기(Paint Layer)~

웨더링이 끝난 시점에서 추가로 작업할 수 있다.

자동으로 알파, 노말맵이 적용이된다.

[Paint Layer/Height를 이용한 앵커포인트 작업]

1. 레이어를 fill layer_Black mask_Generater(메인더티) 아래에 Paint Layer 이렇게 생성한다.

*제너레이터는 아무거나 사용하는게 아니고 옵션에Micro가 붙어있는 것만 가능하다.

2. Paint Layer에 스탠실을 넣고 높이를 올려준다. (페인트레이어므로 칠하기 전에 설정해야 적용된다. 후에는 수정불가)

3. Paint Layer에 마크를 그린 후 앵커 포인트를 add해준다. (앵커포인트 만들 때 알아보기 쉽게 이름을 바꾸자)

4. 제너레이터에서 세가지를 조정해줘야 한다.

   -제너레이터 높이에 앵커포인트를 넣는다.

   -Referenced channel을 Height로 설정

   -Micro Details에 Height를 On/True로 설정한다.

[Fill Layer/Height를 이용한 앵커포인트 작업]

1. 레이어를 fill layer_Black mask_Generater(메인더티) 아래에 Fill Layer 이렇게 생성한다.

2. Fill Layer에 블랙 마스크를 걸고 add fill or add paint 넣기

3. Add fill이면 Grayscale에 문양을 넣고 repeat을 끄고 크기 위치 조절하기

4. Fill Layer의 '마스크' 에 앵커포인트를 적용시킨다! ★차이점

5. 후에 Height조절 등 수정가능

[Paint Layer/Normal을 이용한 앵커포인트]

위에 방법에서 Height를Normal로 바꾸기만 하면 된다.

1. Paint Layer에 Normal을 제외한 모든 재질을 끈다.

2. 노말 스탠실에 문양을 넣고 (외곽이 흐릿하게 보일 경우) 알파채널을 끈다.

3. 문양을 찍고 앵커를 건다.

4. 제너레이터에서 Reference channel을 Normal로 바꾸고 Micro Detail에서 Normal을 켜준다.

 

~숫자키 1, 2, 3, 4번~

1번: 칠하기 모드

2번: 지우기 모드

3번: 프로젝션 모드

-> Base color에 원하는 이미지를 넣고 S키로 이미지 조절을 한 다음, 그냥 칠하면 된다.

4번: UV영역 나누기 모드

-> 삼각, 사각, 오브젝트, UV 옵션으로 나뉘어지며, 마스크 영역을 빠르게 설정할 수 있다.

*X키를 누르면 흑백전환이 가능해서, 마스크모드에서 칠하기, 지우개로 쓸 수 있다. ★★★★★

=>보통 1번, 4번 많이 사용 1번에서 x로 반전시키면 2번모드 쓸 필요 없음

 

~이미지넣기~

방법1 - 도장찍듯이 그리기 (스탠실)

1. 알파영역을 가진 PNG를 준비한다. (ex. 검은 영역에 흰 글씨)

2. 드래그 앤 드랍으로 파일을 넣어준다.

3. Fill Layer에 베이스 컬러를 정하고, 블랙 마스크_add Paint

4. 칠할 때는 알파를 끄고 블러영역이 없는 상태에서 칠하면 좋다.

5. 후에 색깔 수정가능 (위치변환x)

 

방법2 - 이미지 올리기

1. 이미지를 불러와서 Fill Layer의 Base color에 넣어버린다.

2. 이 경우엔 UV창에서만 이동 및 수정이 가능하다.

*F1,2,3으로 창 전환할 수 있음 참고!

3. repeat은 None으로 바꿔주기

4. 이미지 자체를 넣었기 때문에 색 변환이 제한적이다.

-> Filter_HSL Perceptive로 어느정도 수정할 수 있음.

5. 장점은 후에 위치를 바꿀 수 있음!

 

방법3 - 마스크로 올리기 (흑백만 가능)

1. Fill Layer_Black mask_Add fill

2. Grayscale에 흑백 이미지 넣기

*이 방법은 흑백 외에는 불가능하다. 블랙 마스크는 흑백이미지에 특화되었기 때문!

 

 => UV가 잘 안펴져있을 경우 위의 방법들은 좋지 않다.

 

~UV가 잘 펴져있지 않았을 때 이미지 넣는 방법~

1. Paint Layer의 프로젝션 모드를 이용한다.

2. 3번을 누르고 베이스 컬러에 이미지를 넣어 칠한다.

 

*컬러를 넣어야 한다면 위의 프로젝션이나 방법1,2번!

*원하는 영역에만 마스크를 씌워 넣을 수 있다. (동그란 영역 만들 때 추천 알파: Shape Border Circle)

 

~카메라, UV영역 설정하기~

시메트리가 활성화 되어있거나 메쉬가 겹쳐있으면 텍스쳐가 이상한 곳에 발릴 수 있다.

이를 대비하여 Add Paint에서 Alignment_카메라 우선, UV우선 등 설정을 할 수 있다.

 

~아이레이 IRAY~

F10을 누르면 아이레이 모드로 넘어간다.

Max time: 60~120초, 360초

1920x1200

렌더링 후 Save Render

환경맵 변경가능

카메라 세팅, 색 조저르 광 조절

여러가지 설정이 있으니 건드려보기!

 

~다운받은 이미지, 메테리얼 집어넣기~

드래그 앤 드롭으로 가져온다.

Import your resources to:

Crrent session - 껏다키면 사라짐

Project - 이 프로젝트에서만 사용

Shelf - 어디에서나 사용

 

~시메트리 기능~

사용가능할 때에만 메뉴가 활성화 된다.

Add Paint하면 옵션이 나온다.

이렇게 생김

화살표 마크 누르면 시메트리 기준점도 이동할 수 있다.

 

방사형 대칭도 가능하다.

~텍스쳐 뽑기~

Ctrl + Shift + E

- 사이즈: 베이크 해상도와 같은 크기 추천

- 확장자: PNG (개취)

- 경로

- 프리셋

ㄴ 잘 쓰이는 프리셋

    - Mesh map: 베이크된 맵을 수정할 때(섭페상에서 쓸 map필요할 때)

    - PBR Spec Gloss from MetalRough: 마모셋

 

+ 난 위 방법대로 했더니 노멀이랑 하이트맵만 추출되서 카페 좀 뒤적거리다가 방법을 찾았다...

https://youtu.be/WHQfYklBVTY

위 방법대로 해서 Diffuse맵 뽑기 성공!

 

 

-------------------------------------------------------------------------------------------------------------------

마스킹 시킨 문양 날카롭고 깔끔하게 원본 그대로 추출하는 방법

 

1) 문양을 마스킹 시켜줌

2) 폴리그룹 -> 마스킹 그룹 선택

3) 서브툴 -> 추출시킴(T코너,T외각,면정리:30정도)

4) 지오메트리 -> 엣지 루프 -> 그룹루프 -> 루프 수:1, 그룹 다듬기:30

5) 지오메트리 -> 엣지 루프 -> 마스크 테두리에서 엣지 루프 추가

6) 크리즈 (선택사항)

7) 마스크 반전시킴

8) 디포메이션 -> [팽창하기] 와 [그룹에 의한 폴리쉬] 및 [각진 엣지에 의한 폴리쉬]도 해줌

 

이렇게 추출시킨 문양은 섭페에서 색입히기 편해진다.

 

 

+

[3Ds max에서 가져온 로우폴, 하이폴 오브젝트 파일로 노멀맵 추출하기]

*모델링 툴에서 매터리얼을 동일하게 했다면, Texture Set List가 하나가 나올것이다.

만약 UV를 한장 이상 사용할 오브젝트를 서페에서 텍스쳐링 하고 싶다면,

동일한 UV를 사용하는 파츠끼리 서로 다른 매터리얼을 적용시킨 후 가져와야 한다.

 

1. File - New - Select 눌러서 로우폴리 파일 가져오기

   ㄴ Document Resolution은 일단 2048 (후에도 변경가능)

2. Bake Mesh map

   ㄴ Output Size 우선 1024 로 잘 뽑히는지 빠르게 확인하고 그 후에 더 올려서 뽑는다.

   ㄴ

Always를 By Mesh Name으로 바꿔준다. (레이어 이름끼리 매치시킴) 바꿔주지 않으면 깔끔하게 나오지 않는다.

    ㄴ

처음에는 None으로 하고 본 추출할 때 높여서 뽑는다.

광택이나 재질을 확인할 때, Shift + 우 드래그 하여 빛을 여러 각도에서 비춰본다.

 

전체적으로 깊이감 + 톤 맞추기

: Fill layer 생성 - 베이스 컬러 채도 낮은 쿨톤으로 조정 - add generator

                                                                           ㄴA.O - Global invert를 true로 변경한다.

 

+안쓰는 에셋, 텍스쳐 파일 등등 없애는 방법

(구버전기준)Clean을 선택

+안쓰는 텍스쳐셋리스트 없애거나 편집하는 법

Reassign Texture sets 에서 가능하다.

ㄴ 

'Study > Substance painter' 카테고리의 다른 글

Substance painter bake 시행착오 팁  (0) 2021.05.08
Fliters  (0) 2021.01.20

+ Recent posts