Shader.SetKeyword
Declaration
public static void SetKeyword(ref Rendering.GlobalKeyword keyword, bool value);Параметры
| Параметр | Описание |
|---|---|
| ключевое слово | GlobalKeyword для включения или отключения. |
| значение | Требуемое состояние ключевого слова. |
Описание
Задаёт состояние глобального ключевого слова шейдера.
Ключевые слова шейдера определяют, какие варианты шейдера 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); } }
Дополнительные ресурсы: Варианты шейдеров и ключевые слова, LocalKeyword, GlobalKeyword, EnableKeyword, DisableKeyword, IsKeywordEnabled, enabledGlobalKeywords, globalKeywords.