Version: 2023.1
Shader variant stripping
How Unity loads and uses shaders

着色器变体集合

A shader variant collection is effectively a list of shader variants. Use shader variant collections to prewarm shader variants, or to ensure that shader variants that are required at runtime but not referenced in a scene are not excluded (“stripped”) from your build.

创建着色器变体集合资源

可以通过以下方式创建着色器变体集合资源:

  • 在 Create Asset 菜单中,选择 Shader > Shader Variant Collection
  • Unity 编辑器可以跟踪应用程序在运行时使用哪些着色器变体,并自动创建包含一个着色器变体集合资源来包含这些着色器变体。有关更多信息,请参阅 Graphics 设置:着色器加载

查看和编辑着色器变体集合

着色器变体集合检视面板 (Inspector)
着色器变体集合检视面板 (Inspector)

在 Unity 项目中选择着色器变体集合资源时,可以在 Inspector 中对其进行查看和编辑。

Use the controls to build a list of Pass types and shader keyword combinations to load in advance.

也可以使用 ShaderVariantCollection API 来配置着色器变体集合资源。

预热着色器变体集合

为避免在性能开销大时出现明显的停顿,Unity 可以要求图形驱动程序在首次需要着色器变体之前创建它们的 GPU 表示形式。这称为预热。有关在着色器变体集合中预热着色器变体的更多信息,请参阅着色器加载:预热着色器变体

Shader variant stripping
How Unity loads and uses shaders