[W.I.P] [Tutorials]Understanding allegorithmic substance designer. PART-5

서브스턴스 디자이너 한국 개발자 그룹을 구독 하시려면.
http://subinkorea.blogspot.kr/

christian.kim@allegorithmic.com  로 메일신청.



작업을 위해 신규 도큐먼트를 만들어 보세요.
이때 Template 에서 세 번째 있는 Physically Based(metallic/roughness) 를 선택 해 봅니다.
아직 우리는 커스텀 쉐이더를 만들어 추가 한 상태가 아닙니다.

When you are creating new substance project and you would be selecting 3th category of template.
So, currently We did not added to custom shader for this project.





Dota2 mode 에서 추출 한 Bounty Hunter 3d model 을 drag 하여 unsaved package 에 올려 놓으면 위 그림처럼 자동으로 Resources folder 가 만들어 지고 mesh data 가 등록 됩니다.

Dragging extracted Bounty Hunter 3d modeling data and then while you hovering mouse cursor to your unsaved package or your custom sbs project.
You will be see automatic creation resource folder like above images.



등록 된 상태에서 모델 아이콘을 더블클릭 하면 3D View 창에 자동으로 해당 모델이 나타나게 되죠.
이때 외부에서 모델을 수정 하고 저장 하면 substance designer 에서는 자동으로 업데이트 시켜 줍니다.

If your 3d modeling data to finished registration and then next you can just double clicking your 3d modeling that just done. ta da~!
While you guys if edit your 3d modeling via external DCC tool and directly step you will see automatic updating substance designer.




미리 만들어져 있는 기본 텍스처 페스들을 리소스 폴더에 드레그 해서 등록 합니다.

만약 여러분이 특정 폴더 안의 리소스 경로를 유지 하고 싶다면 link , 서브스턴스 디자이너 전용 프로젝트 폴더를 따로 관리 하신다면 import 로 설정 하면 되겠습니다. 사실 임베디드 데이터가 되는 것은 아니고 복사가 자동으로 되는 것일 뿐입니다.
위 그림에는 도타2 에서 추출 한 여러 텍스처 페스 소스가 있군요.
이번엔 학습을 위해 모두 사용하지는 않을 겁니다.

참고사항으로 이번 학습예제는 Valve soft 에서 제공하는 도타2 아트웍 매뉴얼과는 상관 없는 비주얼 프로세스를 다루고 있습니다.이제 기본적인 준비는 끝이 되었습니다.
다음으로 요구 되는 텍스처 아웃풋을 만들어 주고 목표 한 작업을 위해 Graph 에서의 노드 작업을 해 보죠.
디퓨즈 , 노말 , AO TEX , MATCAP TEX , RIM TEX.
이렇게 5개의 텍스처 소스가 필요 합니다.
5개의 텍스처 소스 중에서 이미 확보 되어 있는 것은 디퓨즈 , 노말 , MATCAP TEX 이렇게 3개 이고 substance designer 에서 직접 만들어야 하는 것이 나머지 두 개 입니다.



Doing just dragging your pre made pass textures into your current .sbs project root.
If you want to preserve your other directory path , have to choose just link mode or other case you want to preserve include currently sbs own project directory you have to choose import mode. So, import mode is just copy into sbs project location that is not embedded data.
Include many other kind of pass texture see above images.
This chapter is not implementation about Valve softs' dota2 graphics manuel.So.Now we ready to basically assets for next work.
And then We will have to making texture for each working in require output graph node.
This element tex is diffuse , normal , AO TEX , MATCAP TEX , RIM TEX that is done.
Diffuse , Normal and MATCAP TEX is already that made pre calculating external tool and You will have to making just another texture only.






먼저 AO TEX. 를 만들어 볼텐데요 여기서 이제 substance designer 의 인스턴스 라이브러리를 사용 하게 됩니다.

First time We will making AO TEX that now you will utilize instance library in substance designer.



이렇게 노말맵과 substance designer 의 Normal to Height 과 Ambient Occlusion 이라는 Instance filter 를 활용 하면 간단하게 AO 맵을 만들 수 있는 공정이 됩니다.

So... Normal to Height filter and Ambient Occlusion filter on substance designer by normal map textures at like this technique to simply you make for your AO TEX that is too some easy process I am sure if you has to understanding precess about many other filter to substance designer.

하이폴리곤 디테일 모델링이 없기 때문에 노말맵과 내부 필터를 사용하여 AO TEX 를 만들게 되지만 Zbrush 등에서 하이폴리곤 작업을 했다면 Bake model information 에서 AO TEX 를 만들 수도 있습니다.

In this case just utilized normal map and built in instance filter for making AO TEX because we does't has original high polygon model source but if we have that source we can utilizing Bake model information on substance designer.



적당한 값을 설정 하여 원하는 AO TEX 를 간편 하게 얻어 낼 수 있습니다.
You would be get some fitting AO TEX texture result for your work. 



그림은 기본 노드를 사용 한 AO TEX.
다만 목표 쉐이딩을 위해 한단계 가공을 해 보겠습니다.
중간톤 부분의 디테일이 좀 더 필요 한 이유로 Highpass 를 사용 한 별도의 노드와 블렌딩을 거쳐 사용자화 텍스처로 변환 해 봅시다.
This picture currently represent for basic AO TEX graph node for your understanding.

Detail AO 프레임을 보면 Height map 을 사용 하여 Hipass 로 필터링 한 후 블렌딩을 위해 그레이스케일 컨터빙을 한 출력값과 AO TEX 프레임에 있는 Ambient Occulusion 의 출력값을 혼합 , Level 을 통해 적정한 값을 유추 하였습니다.

Height map final result is using Hipass filter node with blending node that made using mixing to Ambient Occulusion result by Level node as matching custom result AO Tex. 



약간의 값 변화를 주어 1차 결과물을 추출했습니다.
Little more applying to variation for AO TEX first result.


다만 마지막 쉐이딩 에서의 결과물을 확인 하는 시점에서 사용자 AO TEX 의 값은 달라 질 수 있습니다.
(AO 의 원론적인 출력 결과로 볼때는 올바르지 않을 수 있습니다 , level 등과 이 전의 노드의 속성을 달리 해 보면서 유추 되어 지는 결과를 자주 보는 것이 substance designer 의 노드 그래프 속성에 대해서 빨리 이해 하는 길입니다.)

Merely...currently first result that is change value for final result during your work progress. 




Substance designer 에서 node 를 사용하여 작성 된 AO TEX <-(Detailed AO) 를 모델의 Shader node 의 Ambient Occlusion 에 연결 하였습니다.






Normal texture 도 조금 보강을 합니다. 다만 이것은 학습을 위한 것일 뿐입니다.

미리 작성 되어 있는 Normal Texture 와 Diffuse texture 를 이용하여 변환 된 detail normal texture pass 을 Normal Combine node 를 활용 하여 섞어 줍니다.

Detail normal texture는 contrast/luminosity_grayscale 을 경유 하도록 하였는데요 그레이톤으로 변경 된 diffuse texture 를 적당한 normal texture 로 변경 한 뒤에도 handling 할 수 있도록 한 것입니다.


contrast/luminosity_grayscale 역시 Instance 인데요…여기서 매개변수를 노출 시켜 게임상에서 디테일 노말을 제어 할 수도 있겠습니다.



참고사항.
Physically Based(metallic/roughness) 를 사용 할 때 metallic 값을 변경 하는 체널은 R 체널 입니다.
위 그림은 이해를 돕기 위한 것인데요.
uniform color 의 RGB slider 를 움직여 보면 알 수 있습니다.
즉 metallic power 등을 R 체널에 비트맵으로 삽입 해 주어도 되겠지요?



유니폼 컬러로 일괄적으로 metallic power 가 반영 된 예.




살짝 삼천포로 빠진 것 같긴 하지만 살짝 이해를 돕기 위해서 비트맵을 이용해서 시각적으로 노드를 구성 해 봤습니다. ( 그림을 클릭 하면 엄청 크게 나옵니다. -_-;)

중간에 level node 를 두고 조절 해 보면 Metallic power 가 어떤 식으로 반영 되는지 더 시각적으로 확인 해 볼 수 있죠.
역시 이런 식으로 매개변수를 노출 시켜서 게임에서 활용 하는 것입니다.
대략 이런식으로 PBS 에서는 작업 한다는 정도 인데요.
3월 연구 목표의 범주가 커스텀 쉐이더의 적용과 룩업텍스처의 제작 이니까...

슬쩍 이렇게 넘어가고 다음 쳅터에서는 GLSL 부분도 조금 씩 살펴 보도록 하겠습니다.
회사에서는 자체엔진을 사용 하기 때문에 PC 에서는 cg 와 모바일에서는 gles . 이렇게 코드 짤 때 두개를 다 함께 짜야 해서 정말 피곤이 절정에 이르는데요...

한번 해 보시죠. -_-; 모르겠다. :(


쳅터5 까지의 셈플.

chapter 5 exam.




Game Developer Leegoon copyright all right reserved since 2010.

Comments