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

RayTracingShader.SetKeyword

Declaration

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

Параметры

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

Описание

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

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

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

Если LocalKeyword не существует в keywordSpace, эта функция не имеет эффекта.

В следующем примере переключается состояние всех локальных ключевых слов шейдера в шейдере трассировки лучей.

using UnityEngine;
using UnityEngine.Rendering;

public class Example : MonoBehaviour { public RayTracingShader rayTracingShader;

void Start() { // Get all the local keywords that affect the RayTracingShader var keywordSpace = rayTracingShader.keywordSpace;

// Iterate over the local keywords foreach (var localKeyword in keywordSpace.keywords) { // Get the current state of the local keyword bool state = rayTracingShader.IsKeywordEnabled(localKeyword);

// Toggle the state rayTracingShader.SetKeyword(localKeyword, !state); } } }

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