keyword | 要检查的 GlobalKeyword。 |
bool 如果给定的全局着色器关键字已启用,则返回 true。否则,返回 false。
检查全局着色器关键字是否已启用。
着色器关键字决定 Unity 使用哪些着色器变体。有关使用 局部着色器关键字 和 全局着色器关键字 以及它们如何交互的信息,请参阅 使用 C# 脚本与着色器关键字。
如果传递一个字符串,并且 name
为该字符串的 GlobalKeyword 在 keywordSpace 中不存在,则此函数返回 false
。
采用字符串作为参数的此函数版本比采用 GlobalKeyword 作为参数的版本慢。如果多次调用此函数,最佳实践是创建一个 GlobalKeyword 结构体,将其缓存并使用它。
此示例检查名为 EXAMPLE_FEATURE_ON
的全局着色器关键字是否已启用。
using UnityEngine; using UnityEngine.Rendering;
public class GlobalKeywordExample : MonoBehaviour { private GlobalKeyword exampleFeatureKeyword;
private void Start() { exampleFeatureKeyword = GlobalKeyword.Create("EXAMPLE_FEATURE_ON");
if (Shader.IsKeywordEnabled(exampleFeatureKeyword)) { Debug.Log("Global shader keyword " + exampleFeatureKeyword.name + " is currently enabled"); } } }
其他资源:着色器变体和关键字、LocalKeyword、GlobalKeyword、EnableKeyword、DisableKeyword、SetKeyword、enabledGlobalKeywords、globalKeywords。
keyword | 要检查的 GlobalKeyword 的名称。 |
bool 如果存在具有给定名称的全局着色器关键字且已启用,则返回 true。否则,返回 false。
检查全局着色器关键字是否已启用。
如果不存在具有给定名称的全局着色器关键字,则此函数返回 false。否则,此版本的 IsKeywordEnabled
的行为与参数为 GlobalKeyword 的版本相同。