Material.SetVector
Declaration
public void SetVector(string name, Vector4 value);public void SetVector(int nameID, Vector4 value);Параметры
| Параметр | Описание |
|---|---|
| nameID | Имя свойства ID, используйте Shader.PropertyToID, чтобы получить его. |
| имя | Имя свойства, e.g. "_WaveAndDistance". |
| значение | Значение вектора для установки. |
Описание
Задает значение для именуемого вектора в материале.
Четыре компонентных вектора и цвета одинаковы в Unity шейдерах. SetVector делает почти то же самое, что и SetColor, только тип входных данных отличается (xyzw в векторе становится rgba в цвете). Единственное различие заключается в том, что цветовые значения преобразуются из sRGB в линейное значение, когда используется линейное цветовое пространство (см. свойства в программах для создания шейдеров).
Вы также можете использовать SetVector для назначения значений свойствам float2 или float3, определенным в шейдере.
Дополнительные ресурсы: SetColor, GetVector, Shader.PropertyToID, Свойства в программах для создания шейдеров.
using UnityEngine;
public class SetVectorExample : MonoBehaviour { public Material targetMaterial;
void Start() { Vector4 customVector = new Vector4(1.0f, 0.5f, 0.0f, 1.0f);
// Set the vector to a shader property named "_CustomVector" targetMaterial.SetVector("_CustomVector", customVector); } }