2017년 4월 작성 된 글입니다.
기본적인 사용자 인터페이스를 숙지 하면 됩니다.
처음 부터 메뉴 하나 하나 버튼 하나 모두 무슨 용도 인지 설명을 듣고 있자니 무척 공부가 지루해 집니다.(필자 경험)
노드 기반의 그래픽 어플리케이션 인터페이스에 익숙하지 않은 아티스트 로서는 노드 인터페이스에 대한 거부감이 상당 합니다.
하지만 섭스턴스 디자이너의 인터페이스 자체는 생각 보다 굉장히 간결 합니다.
왜냐면 대부분의 기능이 상단 메뉴에 위치 한 것이 아니라 노드 하나의 덩어리 안에 집중 되어 있고 이러한 노드들이 연결이 됨으로서 강력한 활용 능력을 보여 주는 것이기 때문입니다.
그렇기 때문에 초반에 인터페이스에 대해서 확실하게 학습을 하고 가는 것이 중요 합니다.
New Substance : 상단 메뉴에서 File / New Substance…(Ctrl + N) 를 클릭 하여 신규 파일를 생성 합니다.
New MDL Material : Nvidia Iray 용 MDL 재질을 새로 만든다.
Open : sbs 프로젝트를 불러 온다.
Recent Packages : 이 전에 작업 했던 목록을 보여준다.
Save All : 모든 열려 있는 프로젝트를 저장 한다.
Reload Resources : 모든 관련 된 리소스를 업데이트 하다.
Exit : 프로그램 나가기.
Cancel Rendering : 현재 렌더링 상태 취소.
Suspend Engine : Substance Engine 연산 일시 중지. Node 연결 작업등은 가능 한 상태에서 Compute 연산을 모두 일시 정지 시킨 상태를 유지 한다.
너무 복잡한 Node 구조일 경우 매번 수치를 수정 할 때마다 연산을 하는 것이 느릴 경우 사용.
라이브러리 윈도우 디자이너에 탑재 된 필터를 찾고 등록 하는 윈도우 입니다. [Figure 3]
디자이너 온라인 메뉴얼 에서는 라이브러리에 담겨 있는 각각의 기능들을 필터 라고 규정 하고 있습니다.
하지만 라이브러리 안에는 세부적으로 필터 이외에도 개별적 function , mesh , sbs , sbsr 등이 모두 포함 되어 집니다.
라이브러리 윈도우에서 각 가테고리를 선택 하여 원하는 필터를 클릭 드레그 하여 Graph Window 에 등록 할 수 있습니다.
서브스턴스를 사용 하기 위해서는 라이브러리에 어떠한 기능 프리셋이 있는지 잘 알고 있는 것이 중요 합니다.
대부분의 기능 구현이 노드 기반으로 되어 있는 섭스턴스 디자이너의 경우 일부 기능을 제외 하고는 라이브러리에 있으며 우리는 이것을 통칭 하여 필터 라고 부르기도 합니다.
자주 사용 하는 노드를 등록 하여 관리 할 수 있습니다.
자주 사용 하는 노드를 선택 후 별표 마크를 클릭 하여 등록 할 수 있습니다.
Generators ( NOISE / PATTERN)
Noises 와 Patterns 하위 가테고리로 나뉘어 집니다.
Noises 에는 여러가지 프로시주얼로 생성 된 노이즈 노드들이 있습니다.
질감을 만드는데 자주 사용 될 것입니다.
Patterns 로 구성 되어 있는 노드는 노이즈와는 달리 형태를 좀 더 명확히 갖고 있는 프로시주얼로 생성 된 노드 입니다.
이 역시 여러가지 프로시주얼 질감을 만드는데 사용 됩니다.
해당 가테고리 안에는 프로시주얼을 제외 한 비트맵을 직접적으로 보정 할 수 있는 여러가지 노드들을 포함 합니다.
일반적으로 이미지의 컬러를 수정 하고나 변환 하는 기능들의 집합 입니다.
컬러 정보에서 그레이 마스크로 변환 하거나 컬러 스페이스를 변환 하는 등의 수정 노드등이 포합니다.
3D VIEW
그래프 윈도우 에서 작업 되는 필터들의 연결 결과를 3D 상에서 보여주는 창입니다.
쉐이더를 선택할 수 있고 조명 셋팅 , 뷰 환경 셋팅등을 모두 할 수 있습니다.
프로시주얼 텍스처 맵 작업등을 하다 보면 디테일 한 모델 보다는 섭스턴스에서 제공 하는 간단한 프리미티브 오브젝트도 자주 사용 하게 됩니다.
기본적으로 제공 되는 프리미티브.
Cube , Cylinder , Hollow box , Plane , Plane(hi-res) , Sphere 그리고 4.0 부터 추가 된 Rounded Cube 등등이 있습니다.
Graph 와 대응 되는 Material 은 여러가지 쉐이더중의 하나를 선택 할 수 있습니다.
선택 된 쉐이더의 속성을 확인 하고 수정 할 때는 Materials / Default / Edit 을 선택 하시면 됩니다.
Physically metallic roughness(Default) 쉐이더 속성의 머트리얼 상태에서 Edit 창을 연 상태 입니다.
일반적으로 이러한 추가적인 속성창은 뷰상에서 화면 우측의 Inspector 에 모두 표시 됩니다.
각 메트리얼과 쉐이더 속성은 메트리얼 쳅터에서 상세하게 살펴 보겠습니다.
Materials / Add 하여 신규 Material 을 추가 할 수 있습니다.
추가 할 Material 이름을 결정 후 OK 하여 추가 합니다.
정상적으로 Material 이 추가 되었으면 위 그림과 같이 Default 외에 새로운 Material 이 보일 것입니다.
Material 은 각기 하나의 Shader 를 갖습니다.
새로 추가 한 Material 의 쉐이더가 PBR 쉐이더 인지 확인 합니다.
Material 에서 현재 선택 한 쉐이더의 텍스처 입력 Channels 를 볼 수 있습니다.
그래프에서 편집 중인 특정 노드를 마우스 클릭 후 마우스 우측 클릭 한 상태에서 드레그 하여 3D View 의 오브젝트에 올려 놓으면 현재 적용 된 쉐이더의 텍스처 입력 Channels 리스트가 나타 납니다.
이때 원하는 슬롯을 선택 하면 편집중인 노드의 정보가 임시로 들어가게 됩니다.
섭스턴스의 편집 워크플로우를 나중에 다루겠지만 맥스나 마야등에서 작성 되어 온 멀티메트리얼 정보등을 하나로 초기화 시킬 때 Materials / Remove All 을 하면 여러개의 메트리얼 정보를 오직 하나의 디펄트 메트리얼 정보로 통합 합니다.
섭스턴스의 쉐이더를 수정 하였다면 변경 정보를 다시 불러 옵니다.
이때 쉐이더 구문에 오류가 있으면 쉐이더 컴파일러를 통해서 팝업창을 통해 컴파일 로그를 보여주게 됩니다.
컴파일 로그 수준은 구문 애러 정도를 보여 주는 정도로 신텍스 애러등을 바로 잡을 수 있는 수준입니다.
사용자 쉐이더의 작성과 적용 예제를 다루면서 다시 살펴 볼 것입니다.
Lights / Edit 은 전체 씬의 광원 정보 수정.
환경광 색상 설정 그릭고 두 개의 Point Light 를 켜거나 끄고 색상을 수정 할 수 있다.
Point Light 1 : IBL( Image Based Lighting ) 이외의 Directional 타입의 주 광원을 나타냅니다.
Point Light 2 : IBL( Image Based Lighting ) 이외의 Directional 타입의 보조 광원을 나타냅니다.
Display 에서 Light 를 켜면 뷰포트 에서 조명 위치를 알 수 있다.
Graph Window 에서 연결 된 필터에 의해 작성 되거나 베이크 된 텍스처 이미지 정보를 보여주는 윈도우 입니다.
SVG 드로잉(벡터 드로잉) 이나 Bitmap 페인팅을 할 수 있는 작업 공간이기도 합니다.
Channel : RGBA 각 체널 별로 이미지를 표시 한다.
Enable Alpha : 알파체널에 대한 정보를 투명하게 표시 한다.
Display Luminance : RGB 로 보여지거나 단색으로 보이도록 한다.
Toggle repeated tiling on or off : 보여지는 이미지에 대한 반복이미지를 보여준다.
Use to Physical size to display the image : 보여지는 이미지를 설정 된 World scale 기준으로 보여준다.
Image information : 이미지 색상 정보를 체널 별로 표시한다.
Dislpay histogram : 이미지가 포함 하는 색상의 분포를 그래프로 표시 한다.
Consider image in sRGB color space : 현재 이미지에 대한 sRGB 를 Pass 합니다.
GRAPH CANVAS
디자이너에서 가장 중요 한 윈도우 입니다.
독립적으로 구현 되어 있는 각각의 필터들을 연결 하여 절차적 텍스처를 구성 하게 되는 핵심 작업 공간 입니다.
가장 기본이 되는 개념은 input 이 있으면 꼭 output과 연결 되어야 한다 입니다.
이것은 가장 기본적인 노드의 연결 구조 입니다.
그리고 섭스턴스 노드 또는 모든 노드 구조의 프로그램에서는 insert node 에 대한 부분이 존재 하며 이러한 부분은 곧 편집 된다는 개념과 같고 이 사이 에서 어떠한 일이 일어 나는가에 따라 퀄리티가 결정 됩니다.
위 이미지의 경우 비어 있는 이미지 인풋이 되는 것이며 역시 아웃풋도 비어 있는 것입니다.
여기에 비트맵 이미지를 넣어 보겠습니다.
일반적으로 Explorer 윈도우 에서 비트맵 이미지를 비어 있는 인풋에 드레그 해서 등록 할 수도 있습니다.
또는 바로Explorer 윈도우에 드래그 하여 등록 하여도 됩니다.
일반적으로 화면 우측에 있으면 인풋에서 아웃풋으로 보내는 것이고 화면 좌측에 있다면 Input 으로 부터 정보를 받는 입력연결부 입니다.
그리고 위 그림처럼 노란색으로 표시 되어 있다면 이것은 RGB 컬러 정보를 뜻 합니다.
만약 회색이라면 그것은 Luminance 즉 회색 정보를 다룬 다는 것입니다.
위 그림과 같이 Blur HQ Grayscale 노드를 중간에 삽입 시키기 위해서는 다이렉트로 직접 연결 할 수 없습니다.
게다가Blur HQ Grayscale 은 회색조의 정보만을 취급 하기 때문에 올바른 삽입 노드가 아닙니다.
예를 들었기 때문 입니다만Blur HQ Grayscale 의 좌우 인풋아웃풋 연결점은 모두 회색 입니다.
이것은 입력도 회색 이어야 하고 출력도 회색 이라는 표시 입니다.
올바른 연결의 예로서 입력부와 출력부 모드 RGB를 지원 하는 연결부로 구성되어 있습니다.
노드 사이의 연결은 연결부 원형을 클릭 한 후 마우스를 이동 히켜 입력부에 위치 시킨 후 마우스 왼쪽 클릭을 하면 연결이 완료 됩니다.(연결 선은 연결 부 근처에 가면 자동으로 연결부에 붙게 되어 있습니다. 이때 만약 연결 수립을 결정 하였다면 마우스 왼쪽 클릭을 한번 수행 하면 됩니다.)
만약 연결이 잘 못 되었다면 연결부 사이의 선을 클릭 하거나 드레그 하여 선택 한 후 Del 키로 삭제 할 수 있습니다.
Shift 키를 누른 상태에서 검정색 유니폼 컬러 노드의 아웃 연결점을 클릭 한 후 Shift 키를 계속 누른 상태로 빨간 색 유니폼 컬러 노드의 아웃 연결점으로 이동 시킵니다.
간단하게 일괄적으로 노드 연결을 이동 시킬 수 있습니다.
좀 더 자세한 그래프 상에서의 노드 사용 방식은 예제를 통해 좀 더 자세하게 살펴 볼 것입니다.
위 그림은 Node type 에서 Blend 만 필터링 한 상태를 예로 보여 줍니다.
좌측으로 부터 다섯번째 아이콘은 총 3가지 연결 뷰를 보여 줍니다.
단축키 1 번으로 부터 3번 까지 설정 되어 있습니다.
2번 Material 모드를 선택 하면 자동으로 Identifier 를 검색 하여 노드를 다른 머트리얼 노드의 같은 입력에 자동 연결 해 줍니다.
단축키 3 번 콤팩트 모드 상태 메트리얼 사이의 연결 라인이 시각적으로 좀 더 명확하게 표현 됩니다.
그래프 섬내일 및 연산시간 계산 디스플레이를 초기화 합니다.
노드의 값이 초기화 되는 것은 아닙니다.
Clean 은 노드 편집 작업 후 불필요 한 노드를 자동 삭제 합니다.
Export Outputs 는 제작 된 최종 텍스처를 비트맵으로 저장 합니다.
Export Outputs 창이 열립니다.
Destination 은 저장 될 경로가 될 것입니다.
Format 은 저장 할 비트맵의 최종 이미지 포멧을 결정 합니다.
Pattern 은 저장 될 비트맵 이미지의 파일네임 지정 페턴 입니다.
기본값은 graph 의 이름 _ 아웃풋 타입명(디퓨즈 이거나 메탈릭 이거나…하는) 으로 되어 있습니다.
Automatic Export when Outputs change 는 아주 편리 한 기능입니다.
1회 저장 후 노드 편집을 하면 그 즉시 변경 된 부분을 알아서 익스포티 해 줍니다.
게임엔진등과 함께 연동 시 편리 합니다.
Reexport Outputs 는 수정 된 아웃풋을 다시 비트맵으로 저장 합니다.
Automatic Export when Outputs change 가 활성 화 되어 있다면 Reexport Outputs 는 크게 사용 하지 않을 것입니다.
PSD Exporter 는 포토샵 등으로 특정 노드의 연산 결과를 비트맵 상태로 레이어화 하여 저장 하는 기능입니다.
ATTRIBUTE INSPECTOR : 속성 검사
각 Node 의 속성을 표시 하거나 수정 하는 곳.
ATTRIBUTES
Identifier : 일종의 식별자 이며 변수명 또한 이와 같은 식별자를 사용 한다.
Description : 해당 Node 에 대한 설명을 작성.
Label : 화면에 표시되는 Node 의 이름.
User Data : SD 내부에 정의 되어 있는 함수를 사용 한다. 간단한 Expression text 를 언어로 사용.
Group : SD 내부에서 정의 된 Group 형식을 사용 하기도 하고 직접 가테고리를 정의 할 수도 있다.
INTERGRATION ATTRIBUTES
Format : Sbsar 로 변환 했을 때 다른 게임 엔진에서 케시 된 텍스처가 어떤 포멧을 사용 할 것인지 결정 하 수 있다.
Mipmaps : Mipmaps 타입을 정의.
Usage : 색공간 , PBR 텍스처 장르(예로 baseColor , roughness...등등) 그리고 RGBA 컬러 체널 중 어떤 것만 사용 할 것인지 미리 정의 할 수 있다.
CONDITION
Visible If : 인스턴스 함수화 했거나 sbsar 로 출력 했을 때 특정 조건에 따라 인터페이스 상에서 포트가 보여질지 아닐지 등을 미리 선언 할 수 있다.
신규 파일을 생성 하면 가장 처음 만나게 되는 New Graph 창입니다.
4.0 버전에 비해서 5.0 은 템플릿 인터페이스가 약간 바뀌었습니다.
Physically Based(Metallic/Roughness) 를 선택 하고 OK 하면 해당 템플릿에 일반적으로 필요 한 Graph Outputs 가 설정 된 상태로 첫 그래프가 만들어 지게 됩니다.
서브스턴스 디자이너는 개략적으로 크게는 총 7개의 인터페이스로 구성 됩니다.
디자이너에서 작업하는 프로젝트의 리소스를 관리 하게 되는 탐색 창입니다. [Figure 2]
SBS 프로젝트를 오픈 하면 베이크 한 리소스 , 3D Mesh , Graph 리스트에 대한 모든 데이터 리스트는 이곳에 등록 하고 관리 할 수 있습니다.
Root 는 SBS 파일을 가리킵니다.
그 하위에 여러개의 Graph 가 존재 할 수 있습니다.
각 Graph 아래에는 아웃풋 리스트가 나타 납니다.
외부에서 불러 온 데이터(Mesh 또는 임포트 이미지 , 링크 해온 이미지 등..)는 일반적으로 자동적으로 생성 된 Resources 폴더 안에 리스팅 됩니다.
다각형 모양의 아이콘으로 표시 되는 것은 3D Mesh 를 가리킵니다.
섭스턴스 디자이너 안에서 Bake 되어 생성 된 텍스처등은 일반적으로 메시의 이름을 상속 받은 후 _Resources 라는 추가 폴더가 자동으로 생성 되어 그 안에 리스팅 되게 됩니다.
함수 편집기.
Substance Designer 에는 총 4가지의 함수 편집창이 있습니다.
FX-MAP 편집기.
위 그림은 FX MAP 편집 화면 입니다.
이렇게 서브스턴스는 크게 위의 두 가지 개념이 유기적으로 연결 되어 믿을 수 없는 결과물을 만들어 내게 됩니다.
그리고 추가적으로 게임 엔진 등에서 활용 할 수 있는 동적 파라미터 프로그래밍(Parameter Programming)을 마지막으로 꼽겠습니다.
NODE FUNCTION 편집기.
Instance Node 를 제작 하거나 또는 FX-MAP 등에서 수식 함수를 제작 할 때 사용 하는 인터페이스.
PIXEL PROCESSOR 편집기.
기본족으로 NODE FUNCTION 편집기와 같다.
PIXEL PROCESSOR 와 관련 된 내장 변수만 사용 가능 하다.
VALUE FUNCTION 편집기.
PIXEL PROCESSOR 편집기와 거의 동일 하지만 상위 노드에서 직접 MEMBER VARIABLE 을 선언 할 수 있다.
'SUBSTANCE' 카테고리의 다른 글
BITMAP & BLEND NODE COMPOSITION :: ATOMIC NODE (1) | 2023.05.19 |
---|---|
PREFERENCES (0) | 2023.05.19 |
Next generation graphics 와 Substance production 에 대한 단상. (1) | 2023.05.18 |
알레고리드믹의 역사 (0) | 2023.05.18 |
글쓴이에 대하여 (0) | 2023.05.18 |