Unity 6.3
0 онлайн 13 гостей 3 в системе
Вход

Material.SetKeyword

Declaration

public void SetKeyword(ref Rendering.LocalKeyword keyword, bool value);

Параметры

Параметр Описание
ключевое слово LocalKeyword для включения или отключения.
значение Требуемое состояние ключевого слова.

Описание

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

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

Когда value является true, эта функция вызывает EnableKeyword. В противном случае она вызывает DisableKeyword.

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

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

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 ToggleExampleFeature() { // Get the current state of the local keyword bool state = material.IsKeywordEnabled(exampleFeatureKeyword);

// Toggle the state material.SetKeyword(exampleFeatureKeyword, !state); } }

Дополнительные ресурсы: Варианты шейдеров и ключевые слова, LocalKeyword, GlobalKeyword, EnableKeyword, DisableKeyword, Shader.keywordSpace, IsKeywordEnabled, enabledKeywords, shaderKeywords.