Shader.DisableKeyword
Declaration
public static void DisableKeyword(ref Rendering.GlobalKeyword keyword);public static void DisableKeyword(string keyword);Параметры
| Параметр | Описание |
|---|---|
| ключевое слово | GlobalKeyword для отключения. |
| ключевое слово | Имя GlobalKeyword для отключения. |
Описание
Отключает глобальное ключевое слово шейдера.
Ключевые слова шейдера определяют, какие варианты шейдера использует Unity. ключевые слова локального шейдера и глобальные ключевые слова шейдера и как они взаимодействуют, см. Использование ключевых слов шейдера со скриптами C#.
Если вы передаете строку и GlobalKeyword если объект с указанным именем не существует, эта функция не имеет эффекта.
Версия этой функции, которая принимает строку в качестве параметра, медленнее версии, которая принимает строку в качестве параметра. GlobalKeyword. Если вы вызываете эту функцию более одного раза, то лучше всего создать GlobalKeyword структуру, кэшируйте её и используйте.
В следующем примере создается GlobalKeyword структура с именем EXAMPLE_FEATURE_ON, и кэширует его. Он предоставляет функции для включения и отключения его.
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); } }
Дополнительные ресурсы: Варианты шейдеров и ключевые слова, LocalKeyword, GlobalKeyword, EnableKeyword, SetKeyword, IsKeywordEnabled, enabledGlobalKeywords, globalKeywords.