서브셰이더 또는 패스에 대한 패키지 요구 사항을 지정하려면 PackageRequirements 블록을 사용합니다. ShaderLab은 서브셰이더 또는 패스당 하나의 PackageRequirements 블록을 지원하지만, 각 블록은 여러 패키지 요구 사항을 지정할 수 있습니다.
| 기능 이름 | 유니버설 렌더 파이프라인(URP) | 고해상도 렌더 파이프라인(HDRP) | 커스텀 SRP | 빌트인 렌더 파이프라인 |
|---|---|---|---|---|
| ShaderLab: PackageRequirements 블록 | 지원 | 지원 | 지원 | 지원 |
참고: PackageRequirements 블록을 제공하는 경우, 이 블록은 서브셰이더나 패스의 여타 모든 선언 전에 이루어져야 합니다.
| 서명 | 기능 |
|---|---|
PackageRequirements{ [requirement definition]} |
패스나 서브셰이더의 패키지 요구 사항을 정의합니다. |
여러 가지 방법으로 패키지 요구 사항을 선언할 수 있습니다. 각각 다른 동작을 제공합니다. 주요 차이점:
ShaderLab의 패키지 요구 사항에서 버전은 major.minor 또는 major.minor.patch 형식을 사용합니다. major.minor만 사용하는 경우 Unity는 patch에 0을 사용합니다. 패키지 버전에는 -preview가 -preview.0과 동등한 -preview 또는 -preview.n 포스트픽스도 포함할 수 있습니다. 미리보기 버전은 미리보기가 아닌 버전보다 먼저 제공되므로 1.2.3-preview.4는 1.2.2 이후, 1.2.3 이전에 제공됩니다.
여러 가지 방법으로 버전 범위를 지정할 수 있습니다. 각각 다른 동작을 제공합니다. 주요 차이점:
1.2.3은 1.2.3으로 시작하는 모든 버전을 포함합니다.[1.2.3]에는 버전 1.2.3만 포함됩니다.[1.2.3,2.3.4)에는 1.2.3에서 2.3.3까지의 모든 버전이 포함됩니다.단일 패키지에 대한 버전 범위를 지정할 수도 있습니다. 개별 범위에서 버전 범위 세트를 생성하려면 세미콜론을 구분자로 사용합니다. 예를 들어 [2.0,3.4.5];[3.7];4.0에는 버전 2.0.0–3.4.5, 버전 3.7.0, 버전 4.0.0 이상이 포함됩니다.
패키지의 버전을 설정할 때는 다음에 유의하십시오.
구문이 위의 내용을 준수하지 않으면 버전 제한이 유효하지 않습니다. 잘못된 패키지 요구 사항에 대한 자세한 내용은 오류 확인을 참조하십시오.