Version: Unity 6.0 (6000.0)
语言 : 中文
启用或禁用异步着色器编译
异步着色器编译故障排除

检测异步着色器编译

您可以使用 C# API 监控异步着色器编译状态,并在此状态更改时执行操作。

这很可能会在高级渲染中有用。如果占位着色器污染了您生成的数据,您可以等到编译完成,丢弃污染的数据,并使用正确的着色器变体重新生成新的数据集。

如果您已知自己感兴趣的材质,可以使用 ShaderUtil.IsPassCompiled 检查着色器变体的编译状态。当状态从_未编译 (Uncompiled)变为_已编译 (Compiled) 时,编译完成。

如果您不知道自己感兴趣的材质,或者您对不止一种材质感兴趣,可以使用 ShaderUtil.anythingCompiling 检测 Unity 是否正在异步编译任何着色器变体。当状态从 true 变为 false 时,所有当前编译完成。

启用或禁用异步着色器编译
异步着色器编译故障排除