版本: Unity 6 (6000.0)
语言English
  • C#

Shader.DisableKeyword

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每项更改建议,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的更改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册

声明

public static void DisableKeyword(ref Rendering.GlobalKeyword keyword);

声明

public static void DisableKeyword(string keyword);

参数

keyword 要禁用的GlobalKeyword
keyword 要禁用的GlobalKeyword的名称。

描述

禁用全局着色器关键字。

着色器关键字决定 Unity 使用哪些着色器变体。有关使用局部着色器关键字全局着色器关键字以及它们如何交互的信息,请参阅使用 C# 脚本的着色器关键字

如果您传递一个字符串,并且不存在具有给定名称的GlobalKeyword,则此函数无效。

采用字符串作为参数的此函数版本比采用GlobalKeyword作为参数的版本慢。如果您多次调用此函数,最佳实践是创建一个GlobalKeyword结构体,将其缓存并使用它。

以下示例创建一个名为EXAMPLE_FEATURE_ONGlobalKeyword结构体,并将其缓存。它提供了启用和禁用它的函数。

using UnityEngine;
using UnityEngine.Rendering;

public class GlobalKeywordExample : MonoBehaviour { private GlobalKeyword exampleFeatureKeyword;

private void Start() { var exampleFeatureKeyword = GlobalKeyword.Create("EXAMPLE_FEATURE_ON"); }

public void EnableExampleFeature() { Shader.EnableKeyword(exampleFeatureKeyword); }

public void DisableExampleFeature() { Shader.DisableKeyword(exampleFeatureKeyword); } }