Shader.SetGlobalFloat
Declaration
public static void SetGlobalFloat(string name, float value);public static void SetGlobalFloat(int nameID, float value);Параметры
| Параметр | Описание |
|---|---|
| nameID | Имя ID свойства, полученного Shader.PropertyToID. |
| имя | Название свойства. |
Описание
Задает глобальное свойство float для всех шейдеров.
Глобальные свойства используются, если они нужны шейдеру, но не определены в материале (например, если шейдер не экспонирует их в Properties блок).
Обычно это используется, если у вас есть набор пользовательских шейдеров, все из которых используют один и тот же "глобальный" float (например, плотность какого-то пользовательского типа тумана). Затем вы можете установить глобальное свойство из скрипта и не нужно устанавливать один и тот же float во всех материалах.
Дополнительные ресурсы: SetGlobalColor, SetGlobalTexture; Material class, Документация по ShaderLab.
В следующем примере установлено глобальное свойство float _MyFloat до 1 во всех тенях.
using UnityEngine;
public class SetGlobalFloatExample : MonoBehaviour { void Start() { Shader.SetGlobalFloat("_MyFloat", 1.0f); } }