LocalKeyword
структура в UnityEngine.Rendering
Выполнено в:UnityEngine.CoreModule
Описание
Представляет ключевое слово шейдера, объявленное в исходном файле шейдера.
Ключевые слова шейдера определяют, какие варианты шейдера Unity использует. Вы можете использовать LocalKeyword чтобы включить, отключить или проверить состояние местный персонал Для информации о работе с локальными ключевыми словами шейдера и глобальные ключевые слова шейдера и как они взаимодействуют, см. Использование ключевых слов с C# сценарии.
Когда вы объявляете ключевое слово шейдера в исходном файле для Shader, ComputeShader или RayTracingShader, Unity представляет ключевое слово с LocalKeyword и хранит его в LocalKeywordSpace.
Для a Shader:
- Чтобы задать состояние локального ключевого слова шейдера, используйте Material.SetKeyword, Material.EnableKeywordили Material.DisableKeyword.
- Чтобы проверить состояние локального ключевого слова шейдера, используйте Material.IsKeywordEnabled или Material.enabledKeywords.
- Чтобы получить доступ к
LocalKeywordSpace, используйте Material.shader для доступа к Shader, которые используются материалом, а затем используйте Shader.keywordSpace.
Для ComputeShader:
- Чтобы задать состояние локального ключевого слова шейдера, используйте ComputeShader.SetKeyword, ComputeShader.EnableKeywordили ComputeShader.DisableKeyword.
- Чтобы проверить состояние локального ключевого слова шейдера, используйте ComputeShader.IsKeywordEnabled или ComputeShader.enabledKeywords.
- Для доступа к
LocalKeywordSpace, используйте ComputeShader.keywordSpace.
Для RayTracingShader:
- Чтобы задать состояние локального ключевого слова шейдера, используйте RayTracingShader.SetKeyword, RayTracingShader.EnableKeywordили RayTracingShader.DisableKeyword.
- Чтобы проверить состояние локального ключевого слова шейдера, используйте RayTracingShader.IsKeywordEnabled или RayTracingShader.enabledKeywords.
- Для доступа к
LocalKeywordSpace, используйте RayTracingShader.keywordSpace.
В дополнение к этому, вы также можете включить или отключить локальное или глобальное ключевое слово с помощью CommandBuffer. Для этого используйте CommandBuffer.SetKeyword, CommandBuffer.EnableKeyword, или CommandBuffer.DisableKeyword.
Примечание: A LocalKeyword является специфическим для одного Shader, ComputeShader или RayTracingShader Вы не можете использовать его с другими Shader, ComputeShader или RayTracingShader экземпляров, даже если они объявляют ключевые слова с одним и тем же name.
Дополнительные ресурсы: Варианты шейдеров и ключевые слова, GlobalKeyword.
Свойства
| Свойство | Описание |
|---|---|
| isDynamic | Указывает, используется ли это ключевое слово локального шейдера для динамического ветвления (только для чтения). |
| isOverridable | Можно ли переопределить это ключевое слово локального шейдера ключевым словом глобального шейдера. (Только чтение). |
| isValid | Указывает, является ли это ключевое слово локального шейдера действительным (только для чтения). |
| name | Имя ключевого слова шейдера (только для чтения). |
| type | Тип ключевого слова шейдера (только для чтения). |
Конструкторы
| Конструктор | Описание |
|---|---|
| LocalKeyword | Инициализирует и возвращает структуру LocalKeyword, представляющую существующее локальное ключевое слово шейдера для заданного Shader. |
Операторы
| Оператор | Описание |
|---|---|
| оператор!= | Возвращает true, если ключевые слова шейдера не совпадают. В противном случае возвращает false. |
| оператор == | Возвращает true, если ключевые слова шейдера одинаковы. В противном случае возвращает false. |