Unity从一个着色器源文件中编译了许多着色器变体。着色器变体的数量取决于你在着色器中包含了多少关键字。在默认的着色器中,通用渲染管线(URP)使用了一组用于照明和阴影的关键字。URP可以排除一些着色器变体,这取决于URP资产中哪些特性是活跃的。
当您禁用URP资产中的某些特性时,管线将从构建中“剥离”相关的着色器变体。剥离你的着色器给你更小的构建尺寸和更短的构建时间。如果您的项目永远不会使用某些特性或关键字,这将非常有用。
例如,你可能有一个项目,你从来没有使用阴影的方向光。没有剥离着色器,有方向光阴影支持的着色器变体仍然在构建中。如果你知道你根本不会使用这些阴影,你可以取消URP资源中主要或额外方向灯的投射阴影选项。URP然后从构建中去除这些着色器变体。
更多关于Unity中剥离着色器变体的信息,请参见Christophe Riccio的博文。