프로시저럴 텍스처링이란 무엇인가?
프로시저럴 텍스처링이란 표면이 어떻게 보이는지 그리는 대신, 어떻게 만들어지는지를 서술하는 것이다. 픽셀 대신 몇 가지 규칙을 만든다 — 이 정도 스케일의 노이즈, 이만큼의 왜곡, 모델이 오목한 곳에서는 어두워짐 — 그러면 머티리얼은 그 규칙들로부터 생성된다. 규칙 하나를 바꾸면 표면 전체가 다시 계산된다.
간단한 답변
프로시저럴 머티리얼은 노드 그래프로 만들어진다 — 제너레이터 노드가 패턴을 만들고, 필터 노드가 다듬고, 블렌드 노드가 조합하며, 그 출력이 표면의 PBR 채널이 된다. 모든 단계가 살아있는 상태로 유지되기 때문에, 머티리얼은 해상도에 구애받지 않고, 끝없이 조정 가능하며, 여러 모델에서 재사용할 수 있다 — 픽셀이 고정되는 순간 그대로 굳어버리는 페인팅 텍스처와는 다르다.

픽셀 대신 규칙
핸드페인팅 텍스처는 그림이다 — 무엇을 그려 넣었든 그 자체가 의미인 픽셀의 격자다. 프로시저럴 텍스처는 레시피다. 「가로로 8개 타일 크기의 셀 노이즈에서 시작해서, 셀이 규칙적으로 보이지 않도록 살짝 왜곡한 뒤, 그것을 줄눈 패턴으로 쓰고, 모델의 AO가 높은 곳에서는 줄눈을 어둡게 만든다」와 같은 식이다. 연산되는 순간까지는 아무것도 이미지로 저장되지 않는다.
이 차이는 실질적인 결과로 이어진다. 머티리얼이 서술이기 때문에, 어떤 해상도로도 흐려짐 없이 렌더링할 수 있다 — 같은 그래프가 같은 규칙으로 512px 프리뷰도, 4K 내보내기도 만들어낸다. 파라미터화되어 있기 때문에, 「타일을 더 크게」는 다시 그리는 작업이 아니라 슬라이더 하나로 끝난다. 그리고 서술이기 때문에 하나의 모델에 묶여 있지 않다 — 같은 그래프를 다른 메시에 적용하면 그 형태에 맞는 결과가 생성된다.
노드 그래프는 실제로 어떻게 작동하는가
프로시저럴 머티리얼은 거의 항상 노드 그래프로 만들어진다. 레시피란 본래 단계들의 연쇄이기 때문이다. 노드는 몇 가지 부류로 나뉜다. 제너레이터는 무에서 무언가를 만들어낸다 — 프랙탈 노이즈, 셀 또는 보로노이 패턴, 그레디언트, 줄무늬. 필터는 하나의 입력을 받아 형태를 바꾼다 — 블러, 레벨, 커브, 색조/채도 조정, 패턴을 흐트러뜨려 기계적으로 보이지 않게 만드는 워프. 블렌드는 두 입력을 받아 모드나 마스크로 조합한다.
그래프는 결과를 PBR 채널에 대응시키는 출력 노드에서 끝난다 — 이 가지는 베이스 컬러를, 이건 하이트를, 이건 러프니스를 구동하는 식이다. 채널들이 같은 상위 노드를 공유하며 함께 만들어지기 때문에 서로 일관성을 유지한다 — 돌기를 만드는 바로 그 노이즈가 정확히 같은 위치에서 표면을 거칠게 만들고 색을 어둡게 만들 수 있으며, 바로 이 점이 프로시저럴 머티리얼을 서로 무관한 네 개의 맵이 아니라 하나의 물리적 표면으로 읽히게 만든다.
그래프가 영리하게 느껴지게 만드는 단계는 메시 자체의 데이터를 입력으로 넣는 것이다. 모델에서 AO, 커브처, 캐비티, 슬로프를 베이크하면 그 맵들이 그래프 입력이 된다 — 그러면 「틈새의 먼지」는 오클루전으로 마스킹된 블렌드가 되고, 「엣지에서 벗겨진 페인트」는 커브처로 마스킹된 블렌드가 된다. 그러면 머티리얼은 적용된 형태가 무엇이든 그에 맞게 적응한다.
프로시저럴 vs. 핸드페인팅
프로시저럴은 표면에 논리가 있을 때 강하다 — 벽돌, 타일, 직물의 짜임, 긁힌 금속, 낮은 곳에 고이는 녹, 모든 엣지를 따라 생기는 마모. 이런 표면은 규칙적인 형태를 가지며, 눈에 띄는 반복 없이 넓은 영역을 덮어야 하고, 나중에 조정 가능하다는 점에서 큰 이득을 본다.
핸드페인팅은 표면에 의도가 있을 때 강하다 — 이야기를 전달하는 특정한 얼룩, 정확한 위치에 놓인 로고, 히어로 에셋에 대한 의도적인 아트 디렉션. 어떤 그래프도 스토리가 요구하는 정확한 위치에 흠집을 배치해 주지는 않는다.
실제로는 좋은 머티리얼 대부분이 두 가지를 함께 쓴다. 일반적인 방법은 베이스를 프로시저럴로 만들어 넓은 영역을 덮고 적응하게 한 뒤, 그 위에 구체적인 부분을 페인팅하는 것이다 — 그래서 프로시저럴 머티리얼과 페인팅 레이어가 별도의 애플리케이션이 아니라 같은 스택 안에 공존할 수 있다는 점이 중요하다.
아무것도 설치하지 않고 시도해보기
전통적으로 프로시저럴 제작에는 전용 데스크톱 애플리케이션과 라이선스가 필요했다. Mixos는 브라우저 안에 노드 기반 머티리얼 에디터를 담고 있다 — 노드 머티리얼 레이어를 추가하고, 제너레이터를 필터를 거쳐 블렌드로 연결하면, 그래프가 GPU에서 연산되는 동안 결과가 모델 위에서 실시간으로 만들어지는 것을 볼 수 있다.
그래프가 별도의 문서가 아니라 하나의 레이어이기 때문에, 마스크를 적용하고, 다른 레이어와 블렌드하고, 그 위에 페인팅할 수 있다 — 중간에 내보내기 단계 없이 프로시저럴 베이스에 핸드페인팅 디테일을 더하는 작업 흐름 그대로다.
프로시저럴 제작의 마지막 단계는 무엇을 계속 조정 가능하게 남겨둘지 결정하는 것이다. Mixos에서는 이것이 공개다 — 파라미터 옆 슬라이더 아이콘을 클릭하면 머티리얼의 변수가 되고, 이름을 바꾸고, 그룹으로 묶고, 적절한 범위를 지정할 수 있다. 이 공개 설정은 레이어 자체의 패널에 나타나므로, 완성된 머티리얼은 그 뒤에 있는 그래프를 더 이상 신경 쓰지 않게 된 뒤에도 타일 크기, 마모 정도, 색상 같은 몇 가지 의미 있는 조절값으로 남는다.
자주 묻는 질문
프로시저럴 텍스처링을 쉽게 설명하면 무엇인가요?
픽셀이 아니라 규칙으로 머티리얼을 만드는 것이다. 표면이 어떻게 생성되는지 — 패턴, 왜곡, 블렌드 — 를 서술하면 컴퓨터가 이미지를 만들어낸다. 규칙 하나를 바꾸면 머티리얼 전체가 다시 생성되므로, 내보내기 전까지는 아무것도 고정되지 않는다.
프로시저럴 텍스처링이 핸드페인팅보다 나은가요?
어느 쪽이 더 낫다고 할 수 없다. 서로 다른 문제를 해결할 뿐이다. 프로시저럴은 넓은 영역을 덮으면서 계속 조정 가능해야 하는, 규칙적인 표면에 강하다. 핸드페인팅은 의도적이고 구체적인 디테일에 강하다. 실무에서 쓰이는 대부분의 머티리얼은 프로시저럴 베이스 위에 핸드페인팅 디테일을 얹는 방식을 쓴다.
프로시저럴 텍스처는 심리스하게 타일링되나요?
대체로 그렇다 — 제너레이터 노드는 대개 타일 가장자리에서 값이 이어지도록 설계되어 있어, 결과물이 구조적으로 눈에 띄는 이음매 없이 타일링된다. 이것이 지형, 벽, 바닥 같은 넓은 표면에 프로시저럴 머티리얼이 쓰이는 주된 이유다.
노드 그래프를 만들려면 기술적 지식이 필요한가요?
생각보다 덜 필요하다. 기본 개념은 단순한 단계들의 연쇄이며, 대부분의 머티리얼은 몇 가지 노드 유형만으로 만들어진다. 빈 화면에서 시작하기보다는 기존 머티리얼을 그래프로 열어 이것저것 바꿔보며 무엇이 어떻게 움직이는지 확인하는 편이 도움이 된다.
프로시저럴 머티리얼이 모델의 형태에 반응할 수 있나요?
그렇다. 그리고 이것이 결과물을 설득력 있게 만드는 핵심 기법이다. 메시에서 AO와 커브처 같은 맵을 베이크해 그래프에 마스크로 입력하면, 그 모델의 특징이 어디에 있든 먼지는 오목한 곳에 쌓이고 마모는 엣지에 자동으로 나타난다.
노출된 파라미터, 즉 머티리얼의 변수란 무엇인가요?
그래프 안에는 수백 개의 숫자가 있을 수 있지만, 머티리얼을 쓰는 사람에게 중요한 것은 타일 크기, 마모 정도, 색상 정도로 몇 가지뿐이다. 노출(Mixos에서는 공개라고 부른다)은 이런 값들을 그래프 밖으로 꺼내어, 각자의 범위를 가진 이름 붙은 변수로 머티리얼 자체에 올려놓는다. 그러면 그래프를 읽지 않고도 머티리얼을 재조정할 수 있다. 이것이 재사용 가능한 머티리얼과 일회성 머티리얼을 가르는 지점이다.
브라우저에서 노드로 프로시저럴 머티리얼을 만든다 — 모든 계정에서 무료이며, 내 모델 위에서 실시간으로 확인할 수 있다.