TECHARTNOMAD | TECHARTFLOWIO.COM

SUBSTANCE

[Flow] 토기 머트리얼 사용자화

jplee 2023. 10. 14. 01:42

서브스턴스 디자이너 파일이나 기타 노드 기반의 작업물의 경우 각 스텝 별 켑처와 친절한 설명 자체도 너무나 큰 스트레스일 때가 있거든요.
 이번 기사에서 2019년 제작 한 머트리얼의 블루프린트?(이쪽 분야에서는 블루프린트 라는 단어가 왠지 언리얼에 종속 된 단어로 보지만 매우 포괄적인 뜻이니까요~) 를 살펴보도록 할꺼에요.
 
2019년도에 제작 한 것이라서 이런 워닝 메시지가 뜨더라고요. 이것 부터 해결 해 봅시다!

이러한 경우는 보통 해당 노드의 내부 구현 형식이 변경 됬을 경우에도 발생 합니다.
 

이럴때는 너무 고민 하지 마시고~ 노출 시켰던 파라메터 부분을 초기화 한 이후 다시 노출 시켜주는 과정을 수행 하는 것이 가장 안전 합니다.
 
 
위 두 가지 노드의 경우(HSL 이나 LEVELS) 컬러 또는 톤에 대한 Variabled data node 로 사용 되기 때문에 기본 Value 만 기록 한 후에 리셋 하고 노출과정만 반복 해 줘도 충분 하거든요. 너무 심각하게 고민 하지 마세요. 정신 건강에 좋지 않습니다.(이후 Level 은 contrast color 로 바꿨어요) 
 

토기 머트리얼의 경우 아티스트와 소통 한 이후에 Hue 에 대한 need 가 전혀 없다는 것을 파악 했고 상식적으로 생각해도 10% 이하의 에디팅 가능성도 안되는 경우에는 크게 신경 쓸 필요가 없습니다. 사실 이런 판단이나 소통이 사용자화의 가장 첫 부분이고 큰 핵심이거든요.
모두 다 가능하도록 이라는 단어가 얼마나 비효율 적이라는 것을 경험으로 이해할 수 있습니다.
여기서 여러분이 인지 해야 하는 것은 이런 소프트웨어 개발사의 접근은 사용자화가 아니라 범용화 이거든요.
그래서 어떤 경우에도 대응할 수 있도록 가능한 많이 노출 한다. 라는 특징이 있습니다.
이러한 머트리얼 즉 범용 재료를 사용 할 경우 특징이 잘못하면 사라질 수 있고 균일화의 맥락이 의도 하지 않게 사라질 수 있거든요. 
그런 큰 맥락을 생각 해 봤을 때 Saturation 은 필수적인 부분이 될 수 있죠. 시간의 개념을 머트리얼에 도입 해야 하는 것은 매우 중요 합니다. Lightness  도 어느정도 연관이 있습니다만 파라메터의 Label 자체가 혼돈을 줄 수 있는 여지가 있다고 생각 합니다.
그래서 이러한 파라메터는 조금 더 직관적으로 Label 을 변경 해 주는 것이 아티스트 친화적인 인터페이스 화 하는 중요한 핵심 입니다.

토기의 표면 디테일이 합쳐지는 곳이죠. 그 다음 Exposed BaseMap Color Adjustment 프레임의 두 노드에서 간단하게 색상 바리에이션 값을 노출 시켰습니다.
토기 재질은 색이 특별히 크게 바뀔 일이 없기 때문에 Saturate 그리고 디테일 대비 제어를 위한 Level 정도만 사용 했어요.

적합한 설정으로 파라메터 디스크립터들을 모두 수정 합니다.
사용자화 목적이기 때문에 Min 과 Max 값 설정 부분에 주의 해야 합니다.
토기 머트리얼의 채도 수정자는 최소 0.45 와 최대 0.55 사이에서만 수정 할 수 있다고 명시 해 주었습니다.
 
그룹을 Surface 로 지정 해 주고 프리뷰를 확인 해 보죠.

프리뷰 상태에서 보면 세부수정자 라는 레이블이 보이실겁니다.
기본값이 False 로 되어 있습니다.
 
이것을 True 로 변경 하면 아래와 같이 세부수정자 페널그룹이 펼처집니다.

이런 식의 파라메터 페널은 Visible If 를 사용해서 설정 해 줘야 하는데요. 아래 그림을 보시죠.
 

세부수정자(관리자만 사용하세요) 라는 Label 위에 Identifier 가 있죠? 이런것을 식별자라고 합니다. 고유한 식별을 이한 이름인것이죠. 보통 Label 이 없다면 식별자를 표시 이름으로도 사용합니다.
이 식별자를 사용해야 하는데요 이 식별자는 Flag 로 사용됩니다.

input["advanced"]==1

이렇게 사용되는데요 입력으로 식별자가 참 일때 라는 상태를 정의 해 준 겁니다.
 
이렇게 하면 bool 타입의 advanced 라는 식별자를 가지고 있는 입력이 Age 라는 노출된 파라메터의 Visible 인터페이스 에 값을 전달 해 주게 되는 것이죠.
 

이런 식으로 bool 타입의 식별자를 활용 하여 서브스턴스 페인터에서 부수적인 파라메터 인터페이스를 잠시 감춰 둘 수 있게 되는거죠.
 
이런 식으로 인터페이스를 구상하여 사용자 머트리얼을 제작하는 이유는 위에서도 자주 언급 했듯이 불분명한... 어쩌면 매우 관습적인 파라메터의 이름으로 제공 했을 때 이것 저것 만저보면서 원하는 표현식에 도달하는 시간들의 소모가 매우 불합리하다고 생각 했기 때문입니다.
소프트웨어 개발사는 범용적이고 관습적이며 포괄적으로 무언가를 개발하고 결정해야 하는 범위 안쪽에 있습니다. 하지만 프러덕션 스튜디오는 매우 유니크 하고 비관습적이여야 하며 합리와 효율의 선을 잘 찾아야 하기 때문입니다.
 
토기 머트리얼에는 토기를 만들때 아래 그림처럼 제작하죠.

출처: 배용석 명장님 기사

 

이런 형식으로 표면에 손으로 제작한 흔적이 남을 수 있도록 노드를 구성 하고 파라메터로 노출 하여 아트팀에 제공 합니다.
 
 
전체 머트리얼을 어떻게 만들었는지에 대한 기사가 아니기 때문에 이정도로 도입부에 대해서 간략히 이야기 해 봤습니다.