Объявление
public void SetColor(string name, Color value);public void SetColor(int nameID, Color value);
Параметры
nameID | Идентификатор имени свойства. Чтобы получить его, используйте Shader.PropertyToID.. |
name | Имя свойства, например. "_Color". |
value | Значение цвета для установки. |
Описание
Задает именованное значение цвета.
Многие шейдеры используют более одного цвета. Используйте SetColor, чтобы изменить цвет (идентифицируемый именем свойства шейдера или уникальным идентификатором имени свойства).
При настройке значений цвета для материалов с помощью стандартного шейдера следует помнить, что вам может потребоваться использовать EnableKeyword, чтобы активировать функции шейдера, которые ранее не использовались. использовать. Подробнее см. в разделе Доступ к материалам с помощью скрипта.
Общие названия цветов, используемые встроенными шейдерами Unity: "_Color"
— основной цвет материала. К этому также можно получить доступ через свойство color. "_EmissionColor"
— цвет излучения материала.
Смотри так же: color, GetColor, Shader .PropertyToID, Свойства в шейдерных программах.
//Attach this script to any GameObject in your scene to spawn a cube and change the material color
using UnityEngine;
public class Example : MonoBehaviour
{
void Start()
{
//Создать новый примитив куба, чтобы задать цвет
GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
//Получить компонент Renderer из нового куба
var cubeRenderer = cube.GetComponent<Renderer>();
//Вызовите SetColor, используя имя свойства шейдера "_Color" и установив красный цвет
cubeRenderer.material.SetColor("_Color", Color.red);
}
}