Version: 2020.3
着色器加载
在运行时替换着色器

着色器变体集合

着色器变体集合实际上是一个着色器变体列表。使用着色器变体集合可预热着色器变体,或确保在运行时需要但未在场景中引用的着色器变体不被从构建中剥离

创建着色器变体集合资源

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

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

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

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

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

使用控件可建立通道类型着色器关键字组合的列表,从而提前加载。

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

预热着色器变体集合

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

着色器加载
在运行时替换着色器