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

Material.EnableKeyword

Declaration

public void EnableKeyword(ref Rendering.LocalKeyword keyword);
public void EnableKeyword(string keyword);

Параметры

Параметр Описание
ключевое слово LocalKeyword для включения.
ключевое слово Имя LocalKeyword для включения.

Описание

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

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

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

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

Примечание: A 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); } }

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