要为 SubShader 或 Pass 指定包要求,可以使用 PackageRequirements
块。ShaderLabUnity 用于定义着色器对象结构的语言。 更多信息
参见 术语表 支持每个 SubShader 或 Pass 一个 PackageRequirements
块,但每个块可以指定多个包要求。
功能名称 | 通用 渲染管线一系列操作,用于获取场景内容并在屏幕上显示。 Unity 允许您选择预构建的渲染管线,或编写自己的渲染管线。 更多信息 参见 术语表 (URP) |
高清渲染管线 (HDRP) | 自定义 SRP | 内置渲染管线 |
---|---|---|---|---|
ShaderLab:PackageRequirements 块 | 是 | 是 | 是 | 是 |
注意:如果提供 PackageRequirements
块,则它必须位于 SubShader 或 Pass 内所有其他声明之前。
签名 | 函数 |
---|---|
PackageRequirements{ [需求定义]} |
定义 Pass 或 SubShader 的包需求。 |
有多种方法可以声明包需求。每种方法都提供不同的行为。它们是
在 ShaderLab 的包需求中,版本使用 major.minor
或 major.minor.patch
格式。如果仅使用 major.minor
,则 Unity 将 patch
使用 0
。包版本还可以包含 -preview
或 -preview.n
后缀,其中 -preview
等效于 -preview.0
。预览版本在非预览版本之前,因此 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 及更高版本。
设置包的版本时,请注意以下事项
如果语法不符合上述要求,则版本限制无效。有关无效包要求会发生什么的更多信息,请参见 错误检查。