데이터 타입
설명
셰이더 그래프에는 많은 데이터 타입이 있습니다. 노드의 각 포트에는 연결할 수 있는 에지를 정의하는 관련 데이터 타입이 있습니다. 데이터 타입에는 사용성을 위한 컬러가 있으며, 이러한 컬러는 해당 데이터 타입의 포트 및 에지에 적용됩니다.
일부 데이터 타입에는 해당 셰이더를 사용하는 머티리얼의 인스펙터에 이러한 값을 노출하기 위한 프로퍼티 타입이 연결되어 있습니다.
데이터 타입
이름 | 색상 | 설명 |
---|---|---|
플로트 | 하늘색 | 플로트 또는 스칼라 값 |
벡터 2 | 초록색 | 벡터 2 값 |
벡터 3 | 노란색 | 벡터 3 값 |
벡터 4 | 분홍색 | 벡터 4 값 |
동적 벡터 | 하늘색 | 아래 동적 데이터 타입 참조 |
매트릭스 2 | 파란색 | 매트릭스 2x2 값 |
매트릭스 3 | 파란색 | 매트릭스 3x3 값 |
매트릭스 4 | 파란색 | 매트릭스 4x4 값 |
동적 매트릭스 | 파란색 | 아래 동적 데이터 타입 참조 |
Dynamic | 파란색 | 아래 동적 데이터 타입 참조 |
부울 | 자주색 | 부울 값. 생성된 셰이더에서 플로트로 정의됨 |
텍스처 2D | 빨간색 | 텍스처 2D 에셋 |
텍스처 2D 배열 | 빨간색 | 텍스처 2D 배열 에셋 |
텍스처 3D | 빨간색 | 텍스처 3D 에셋 |
Cubemap | 빨간색 | 큐브맵 에셋 |
가상 텍스처 | 회색 | 텍스처 스택 |
그레디언트 | 회색 | 그레디언트 값. 생성된 셰이더에서 구조체로 정의됨 |
SamplerState | 회색 | 텍스처 샘플링에 사용되는 상태 |
승격/절삭
모든 벡터 타입은 모든 벡터 타입 포트와 일치하도록 승격되거나 절삭될 수 있습니다. 이 동작은 문제가 되는 포트가 동적 벡터 타입이 아닌 경우에만 발생합니다. 절삭 시 초과 채널은 단순히 제거됩니다. 승격 시 추가로 필요한 채널은 기본값으로 채워집니다. 이러한 값은 (0, 0, 0, 1)입니다.
동적 데이터 타입
일부 데이터 타입은 동적입니다. 따라서 이러한 데이터 타입을 사용하는 포트는 연결되는 데이터 타입에 따라 기본 구체적 데이터 타입을 변경할 수 있습니다. 기본적으로 동적 데이터 타입을 사용하는 노드는 하나의 구체적 데이터 타입만 가질 수 있습니다. 즉 연결된 에지가 데이터 타입을 해당 포트에 적용하면 해당 노드의 다른 모든 동적 데이터 타입이 동일한 데이터 타입을 적용합니다.
한 가지 주목할 만한 예외는 동적 매트릭스 및 벡터 타입을 모두 허용하는 Multiply 노드입니다.
동적 벡터
동적 벡터 타입은 모든 벡터 타입의 연결된 에지를 허용합니다. 연결된 모든 에지는 자동으로 가장 낮은 차원의 타입으로 절삭됩니다. 단, 가장 낮은 차원이 1인 경우는 제외입니다. 이 경우에는 플로트가 승격됩니다.
동적 매트릭스
동적 매트릭스 타입은 모든 매트릭스 타입의 연결된 에지를 허용합니다. 연결된 모든 에지는 자동으로 가장 낮은 차원의 타입으로 절삭됩니다.
동적
동적 타입은 특별한 경우입니다. 이 타입을 지원하는 노드는 확인 방식을 정의해야 합니다. Multiply 노드의 경우 벡터 또는 매트릭스 타입의 연결을 허용하여, 데이터 타입 조합에 따라 올바른 곱셈이 적용되도록 보장합니다.