Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Объявление

public void DisableKeyword(ref Rendering.LocalKeyword keyword);

public void DisableKeyword(string keyword);

Параметры

keyword Отключаемое LocalKeyword.
keyword Имя LocalKeyword для отключения.

Описание

Отключает ключевое слово локального шейдера для этого материала.

Ключевые слова шейдера определяют, какие варианты шейдера использует Unity. Информацию о работе с ключевыми словами локального шейдера и глобальном ключевом слове шейдера и о том, как они взаимодействуют, см. в разделе Использование ключевых слов шейдера со сценариями C#.

Если вы передаете LocalKeyword, но его нет в Shader.keywordSpace для шейдера что этот материал использует, эта функция не имеет никакого эффекта. Если вы передаете строку, а LocalKeyword с таким именем не существует в Shader.keywordSpace для шейдера, который использует этот материал, эта функция не действует.

Версия этой функции, принимающая в качестве параметра строку, работает медленнее, чем версия, принимающая LocalKeyword. Если вы вызываете эту функцию более одного раза, рекомендуется создать структуру LocalKeyword, кэшировать ее и использовать.

Примечание. LocalKeyword относится к одному экземпляру Shader или ComputeShader. Вы не можете использовать его с другими экземплярами Shader или ComputeShader, даже если они объявляют ключевые слова с тем же именем.

В следующем примере создается структура LocalKeyword с именем EXAMPLE_FEATURE_ON и кэшируется. Он предоставляет функции для его включения и отключения.

using UnityEngine; using UnityEngine.Rendering; public class MaterialKeywordExample : MonoBehaviour { public Material material; private LocalKeyword exampleFeatureKeyword; void Start() { // Get the instance of the Shader class that this material uses var shader = material.shader; // Create and cache the LocalKeyword exampleFeatureKeyword = new LocalKeyword(shader, "EXAMPLE_FEATURE_ON"); } public void EnableExampleFeature() { material.EnableKeyword(exampleFeatureKeyword); } public void DisableExampleFeature() { material.DisableKeyword(exampleFeatureKeyword); } }

Смотрите так же: Shader variants and keywords, LocalKeyword, GlobalKeyword, EnableKeyword, SetKeyword, Shader.keywordSpace, IsKeywordEnabled, enabledKeywords, shaderKeywords.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3