keyword | 要启用或禁用的GlobalKeyword。 |
value | 所需的关键字状态。 |
设置全局着色器关键字的状态。
着色器关键字决定 Unity 使用哪些着色器变体。有关使用局部着色器关键字和全局着色器关键字以及它们如何交互的信息,请参阅使用 C# 脚本操作着色器关键字。
当value
为true
时,此函数调用EnableKeyword。否则,它调用DisableKeyword。
以下示例创建并缓存一个GlobalKeyword
,并提供一个函数来切换其状态。
using UnityEngine; using UnityEngine.Rendering;
public class GlobalKeywordExample : MonoBehaviour { private GlobalKeyword exampleFeatureKeyword;
private void Start() { // Create and cache the GlobalKeyword exampleFeatureKeyword = GlobalKeyword.Create("EXAMPLE_FEATURE_ON"); }
public void ToggleExampleFeature() { // Get the current state of the global keyword bool state = Shader.IsKeywordEnabled(exampleFeatureKeyword);
// Toggle the state Shader.SetKeyword(exampleFeatureKeyword, !state); } }