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

Shader.SetGlobalTexture

Declaration

public static void SetGlobalTexture(string name, Texture value);
public static void SetGlobalTexture(int nameID, Texture value);
public static void SetGlobalTexture(string name, RenderTexture value, Rendering.RenderTextureSubElement element);
public static void SetGlobalTexture(int nameID, RenderTexture value, Rendering.RenderTextureSubElement element);

Параметры

Параметр Описание
nameID Имя ID свойства, полученного Shader.PropertyToID.
имя Название свойства.
значение Текстура для установки.
элемент Необязательный параметр, который определяет тип данных, которые должны быть установлены из RenderTexture.

Описание

Задает глобальное свойство текстуры для всех шейдеров.

Глобальные свойства используются, если они нужны шейдеру, но не определены в материале (например, если шейдер не экспонирует их в Properties блок).

Обычно это используется, если у вас есть набор пользовательских шейдеров, все из которых используют одну и ту же "глобальную" текстуру (например, пользовательская карта кубика с диффузным освещением). Тогда вы можете установить глобальное свойство из скрипта и не нужно настраивать одну и ту же текстуру во всех материалах.

Указав `RenderTextureSubElement`, вы можете указать, какой тип данных устанавливается из RenderTexture. Возможны следующие варианты: RenderTextureSubElement.Color, RenderTextureSubElement.Depth, и RenderTextureSubElement.Stencil.

Дополнительные ресурсы: SetGlobalColor, SetGlobalFloat; Material class, Документация по ShaderLab, RenderTextureSubElement.