Параметры
keyword | LocalKeyword для включения или отключения. |
value | Желаемое состояние ключевого слова. |
Описание
Устанавливает состояние ключевого слова локального шейдера для этого материала.
Ключевые слова шейдера определяют, какие варианты шейдера использует Unity. Информацию о работе с ключевыми словами локального шейдера и глобальном ключевом слове шейдера и о том, как они взаимодействуют, см. в разделе Использование ключевых слов шейдера со сценариями C#.
Когда value
равно true
, эта функция вызывает EnableKeyword . В противном случае вызывается DisableKeyword.
Если LocalKeyword не существует в Shader.keywordSpace для шейдера, который используется в этом материале, эта функция не действует.
В следующем примере создается и кэшируется 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);
}
}
Смотрите так же: Shader variants and keywords, LocalKeyword, GlobalKeyword, EnableKeyword, DisableKeyword, Shader.keywordSpace, IsKeywordEnabled, enabledKeywords, shaderKeywords.