하위 그래프
설명
하위 그래프는 다른 그래프 내에서 참조할 수 있는 특수한 타입의 셰이더 그래프입니다. 이는 하나의 그래프 또는 여러 그래프에서 동일한 작업을 여러 번 수행하려는 경우에 유용합니다. 하위 그래프는 다음 세 가지 주요 면에서 셰이더 그래프와 다릅니다.
- 다른 그래프 내에서 하위 그래프를 참조할 때 하위 그래프의 블랙보드에 있는 프로퍼티가 Sub Graph 노드의 입력 포트를 정의합니다.
- 하위 그래프에는 자체 에셋 타입이 있습니다. 새 하위 그래프를 만드는 방법 등에 대한 자세한 내용은 하위 그래프 에셋을 참조하십시오.
- 하위 그래프에는 마스터 스택이 없습니다. 대신 Output이라는 노드가 있습니다.
하위 그래프의 컴포넌트에 대한 내용은 하위 그래프 에셋을 참조하십시오.
Output 노드
Output 노드는 다른 그래프 내에서 하위 그래프를 참조할 때 Sub Graph 노드의 출력 포트를 정의합니다. 포트를 추가하거나 제거하려면 Sub Graph Output 노드를 클릭하여 그래프 인스펙터의 Node Settings 탭에 있는 Custom Port 메뉴를 사용하십시오.
하위 그래프에 사용되는 미리보기는 Output 노드의 첫 번째 포트에서 결정됩니다. 첫 번째 포트의 유효한 데이터 타입은 Float
, Vector 2
, Vector 3
, Vector 4
, Matrix2
, Matrix3
, Matrix4
, Boolean
입니다. 다른 모든 데이터 타입은 미리보기 셰이더에서 오류를 생성하고, 하위 그래프가 유효하지 않게 됩니다.
하위 그래프 및 셰이더 단계
하위 그래프 내의 노드가 셰이더 단계를 지정하는 경우(예: 샘플 텍스처 2D 노드가 프래그먼트 셰이더 단계를 지정) 에디터는 전체 하위 그래프를 해당 단계에 고정합니다. 다른 셰이더 단계를 지정하는 노드는 Sub Graph Output 노드에 연결할 수 없으며, 에디터는 그래프를 참조하는 모든 Sub Graph 노드를 해당 셰이더 단계로 고정합니다.
10.3 버전부터 하위 그래프에 대한 Texture 및 SamplerState 타입의 입력 및 출력이 개선된 데이터 구조의 이점을 누립니다. 자세한 내용은 Custom Function 노드를 참조하십시오.
하위 그래프 및 키워드
하위 그래프의 블랙보드에서 정의한 키워드는 일반 셰이더 그래프와 유사하게 동작합니다. 셰이더 그래프에 Sub Graph 노드를 추가하면 Unity는 셰이더 그래프의 해당 하위 그래프에 있는 모든 키워드도 정의하므로, 하위 그래프가 의도한 대로 작동합니다.
셰이더 그래프 내에서 하위 그래프 키워드를 사용하거나, 머티리얼 인스펙터에서 해당 키워드를 노출하려면 하위 그래프에서 셰이더 그래프의 블랙보드로 복사하십시오.