SDF 함수 작업
버전 16.0.0에서 Substance 3D Designer은 프로시저 3D 모양을 만들고 조작하는 데 사용할 수 있는 강력한 노드 세트를 만들어 SDF 함수를 제작했습니다.
SDF 함수는 SDF 함수 세트에서 사용 가능한 SDF 노드를 결합하는 Substance 함수 그래프로, 도구를 지원하는 노드의 전용 매개 변수에 적용됩니다.
기본 워크플로우는 다음과 같다는 점에 유의하십시오.
- 결과를 시각화하기 위해 3D 뷰어 노드에서 SDF 함수를 작성합니다.
- 최종 함수 그래프(또는 인스턴스화)를 모양 스플래터 v2와 같이 SDF 함수를 지원하는 노드의 SDF 함수 매개 변수에 복사합니다.
SDF 함수 개요
이러한 기능은 드로잉 서피스, 그림자 캐스팅, 컨투어 마스킹, 충돌 감지 등과 같은 컴퓨터 그래픽에 많은 응용 프로그램을 가지고 있습니다.
Substance 3D Designer에서는 SDF 함수를 사용하여 3D 모양을 프로시저로 만들고 조작합니다.
SDF 함수 출력 및 사용 목적
SDF 함수 노드에서 단일 부동 소수점 값(가장 가까운 서피스까지의 부호 거리)을 출력합니다.
그러나 여기에는 더 많은 것이 있습니다. 호스트 노드가 정의하거나 알고 있어야 결과 모양을 조작하고 그릴 수 있는 변수의 값을 내부적으로 얻고 설정합니다.
즉, 이러한 SDF 함수에 대해 알고 있고 해당 변수를 기본적으로 통합하기 때문에 지원 변수를 사용하는 노드의 컨텍스트에서 이러한 노드를 사용해야 합니다.
노드에는 모양 스플래터 v2 및 3D 뷰어가 포함됩니다.
Substance 함수 그래프
SDF 함수 노드는 전용 Substance 함수 그래프에서 사용되므로 해당 그래프 유형에서만 사용할 수 있습니다.
함수로 표시되어야 하는 노드 매개 변수는 ‘함수 편집’ 버튼을 사용합니다.
Substance 함수 그래프에 대해 알아야 할 사항:
- Substance 그래프와 마찬가지로, 노드 커넥터는 특수입니다. 즉, 해당 유형을 나타내는 일치하는 색상 의 다른 커넥터에만 연결할 수 있습니다.
- 노드에는 매개 변수가 없으며 입력만 있을 수 있습니다. (몇 가지 특정 예외 사항 포함)
- 그래프에는 단일 출력 노드가 있습니다. 노드를 마우스 오른쪽 단추로 클릭하고
Set as output을(를) 선택하여 출력 노드로 지정합니다. - 또한 Substance 그래프와 마찬가지로 기본 빌딩 블록인 atomic 노드와 다른 Substance 함수 그래프를 나타내는 instance 노드가 있습니다.
- 그래프의 값에 대한 연산을 수행할 수 있는 별도의 연산자(대수, 논리, 비교)가 있지만 SDF 노드에는 자체 연산자가 있습니다
시작
SDF 함수를 작성하기 위해서는 먼저 노드를 시각화해야 조정하려는 노드와 매개 변수의 효과를 이해할 수 있습니다.
3D 뷰어 노드에는 SDF 함수를 사용하여 작성된 모양을 시각화하기 위한 전용 모드가 있습니다. 노드의 장면 유형 매개 변수를 SDF function(으)로 설정하고 함수 편집 단추를 클릭하여 SDF 함수 자체를 호스팅할 함수 그래프를 엽니다.
이 노드는 테두리 프레임 및 아이소라인과 같이 SDF 함수의 측면을 보다 직관적이고 효율적으로 빌드할 수 있도록 시각화하기 위한 전용 기능을 제공합니다.
실제 태양/하늘 노드를 사용하면 3D 뷰어에서 환경 조명을 빠르게 설정할 수 있습니다.
| table 0-row-2 0-border-none 1-border-none 2-border-none html-authored no-header | |
|---|---|
|
모든 SDF 함수 노드와 입력 커넥터에는 해당 노드의 목적과 사용 방법에 대해 자세히 알 수 있는 도구 설명이 있습니다. 꼭 확인해 보세요! |
|
노드 값 설정
Substance 함수 그래프의 모든 노드와 마찬가지로 SDF 함수 노드에는 매개변수가 없고 매개변수로 사용되는 입력 커넥터만 있습니다.
이러한 입력의 값을 설정하려면 Float, Float3 및 Integer3과 같은 상수 노드를 사용할 수 있습니다.
노드 메뉴를 통해 일반적인 방법으로 이러한 연결을 만들거나, 커넥터에서 새 연결을 드래그하여 일치하는 유형의 필터링된 노드 목록을 활용할 수 있습니다.
SDF 함수 노드의 대부분의 입력 커넥터에는 해당 도구 설명에 표시된 기본값이 있습니다.
| table 0-row-2 0-border-none 1-border-none 2-border-none html-authored no-header | |
|---|---|
|
일부 값을 항상 표시할 필요가 없으면 주석을 사용하여 값을 추적할 수도 있습니다. |
|
테두리 프레임
등치선
SDF 함수 노드 범주
SDF 함수 노드는 기능 및 목적에 따라 라이브러리에서 분류됩니다.
필요한 만큼 라이브러리 보기를 만들어 모든 것을 유지하면서 SDF 함수 도구 세트를 범주별로 정렬하는 방식으로 작업 영역을 구성할 수 있습니다. 창 > 새 라이브러리 보기로 이동하여 라이브러리의 개별 보기를 추가합니다.
기본 도형
구, 상자, 원통 등과 같은 기본 모양을 만들 수 있는 SDF 함수의 기본 구성 요소입니다.
연산자
이러한 노드를 사용하면 프리미티브로 만든 모양을 결합하고 수정할 수 있습니다. 여기에는 다음이 포함됩니다.
변환
모양은 변환, 크기 조정, 비틀림 등과 같이 다양한 방식으로 1}될 수 있습니다.🔗
이러한 노드를 사용하면 서피스가 정의된 공간 자체를 통해 변환을 수행할 수 있습니다.
해당 공간을 P이라고 합니다. 다음 섹션으로 이동하여 이것이 의미하는 것과 공간 변환이 작동하는 방식에 대해 자세히 알아보세요.
재질
SDF 함수를 사용하여 만든 모양에 기본 재질 관리를 사용할 수 있습니다.
3D 뷰어 노드에서 직접 시각화에 사용하거나 모양 스플래터 v2 노드의 재질 작업을 위한 기반으로 사용할 기본 재질 속성(색상, 거칠기 및 금속도)을 정의할 수 있습니다.
모양의 다른 부분에 재질 ID를 지정하여 분리할 수도 있습니다.
아래 노드의 응용 프로그램에 대해 자세히 알아보세요.
‘P’ 입력
우리가 오프셋이나 회전과 같은 변형을 모양에 적용할 때, 우리는 실제로 그 모양이 정의되는 공간을 변형시킨다.
변형을 다른 모양에 전파하려면(예: 여러 모양을 동일한 방식으로 회전하려는 경우) 모든 모양이 동일한 변형 공간을 사용하는지 확인해야 합니다.
변환된 공간은 대부분의 SDF 노드에서 찾을 수 있는 전용 P 입력을 사용하여 노드 간에 공유됩니다.
'P’는 월드 공간 P위치: 월드 공간에서 한 점의 좌표를 나타내는 3D 벡터입니다.
오프셋 P 및 회전 P 노드는 공간을 변형하며 해당 변형을 상속해야 하는 모든 노드에 전파할 수 있도록 합니다.
예를 들어 여러 모양을 같은 P 회전 노드에 해당 P 입력을 연결하여 함께 회전할 수 있습니다.
이것은 단지 편의의 문제가 아니라, 그것은 SDF 노드들이 공간에서 같은 위치들로 작동하도록 확실히 하고 있다.
이에 대한 예시는 다음과 같습니다.
구를 반복하여 공간을 3D 격자선으로 시각화합니다. 공백 반복에 의해 반복됩니다.
공유 P이(가) 없으면 굽은 원통은 구가 사용하는 반복 공간을 사용합니다.
공유 P을(를) 사용하면 공유 회전된 공간에서 모양을 올바르게 정의할 수 있습니다.
‘모양 스플래터 v2’ 노드에서 SDF 함수 사용
3D 뷰어 노드의 컨텍스트에서 SDF 함수를 완료하면 전체 함수를 복사하여 모양 스플래터 v2 노드에 붙여넣어 해당 노드의 모양 생성기로 사용할 수 있습니다.
모양 유형 매개 변수를 SDF function(으)로 설정한 다음 패턴 SDF 함수 매개 변수로 이동하고 함수 편집 단추를 클릭하여 매개 변수의 함수 그래프를 엽니다.
그런 다음 3D 뷰어 노드에서 복사한 함수를 해당 그래프에 붙여넣을 수 있습니다. (함수 그래프의 출력 노드를 다시 설정해야 합니다.)
3D 뷰어 노드에서 사용하던 테두리 프레임과 일치하도록 SDF 테두리 프레임 크기 매개 변수를 조정하고 모양이 제대로 그려졌는지 확인하십시오.
모양 유형이 SDF function(으)로 설정된 모양 튄 v2.SDF 경계 프레임 크기가 모양에 맞게 조정되었습니다.
- 함수에 대한 모든 업데이트는 해당 함수를 다시 복사하여 붙여 넣을 필요 없이 두 노드에 모두 반영됩니다. 이는 복잡한 모양의 경우 수명의 질을 크게 향상시킵니다.
- 그래프에는 인스턴스 노드에 표시될 설명적인 이름이 있을 수 있으므로 자체 SDF 모양 라이브러리를 사용하여 더 쉽게 관리할 수 있고 그래프의 가독성이 높아집니다.
- Get 노드에 사용할 수 있는 함수 그래프의 입력을 만들 수 있습니다. 이러한 입력은 인스턴스 노드에 입력 커넥터로 표시되며 쉽게 모양을 변경할 수 있습니다.
자료 ID
SDF 모양에는 재질 ID가 할당될 수 있습니다. 이 값은 모양의 일부를 구별하고 3D 뷰어 및 모양 스플래터 v2 노드에서 다른 재질을 할당하는 데 사용할 수 있는 정수 값입니다.
아래 예제와 같이 재질 ID가 다른 서피스는 블렌딩된 모양에서 하드 에지로 분할됩니다.
특정 재질 ID로 태그를 지정할 모양의 부분 뒤에 재질 ID 설정 노드를 사용하고, 정수 상수 노드를 사용하여 원하는 재질 ID 값을 설정합니다.
3D 뷰어 노드에서 출력 매개 변수를 Material ID(으)로 설정하여 모양의 재질 ID를 시각화합니다.
오른쪽에 있는 두 3D 뷰어 노드의 출력은 모양(왼쪽)과 해당 질감 ID(오른쪽)를 표시하도록 합성되어 혼합 모양에서 질감 ID가 분할되는 동안 질감이 보간되는 방법을 보여줍니다.
Material ID는 Shape 스플래터 v2 컴패니언 노드에서 활용할 수 있습니다.
- 모양 스플래터 v2 매퍼 노드는 이러한 재질 ID를 사용하여 다른 패턴을 할당할 수 있습니다.
- 마스킹할 모양 스플래터 v2는 해당 재질 ID에 따라 모양의 일부를 마스킹할 수 있습니다.
색상, 거칠음 및 금속성
색상 설정, 거칠기 설정 및 금속성 설정 노드를 사용하면 SDF 함수의 모양에 대해 이러한 재질 특성을 정의할 수 있습니다.
그런 다음 모양 스플래터 v2 SDF 함수에서 해당 노드를 모양 유형으로 사용할 때 이러한 재질 특성을 노드의 SDF 색상, SDF 거칠기 및 SDF 금속도 출력에서 맵으로 사용할 수 있습니다. 이러한 맵들은 다른 노드들을 사용하여 보다 복잡한 재료 작업을 위한 베이스 역할을 할 수 있다.
재질 ID와는 달리, 아래 예에서 볼 수 있듯이 값은 그레이디언트로서 블렌딩된 모양 간에 보간됨입니다.