Version: 2017.1
public void SetColor (string name, Color value);
public void SetColor (int nameID, Color value);

Parameters

nameID Property name ID, use Shader.PropertyToID to get it.
name Property name, e.g. "_Color".
value Color value to set.

Description

Sets a named color value.

Многие шейдеры используют больше одного цвета. Используйте SetColor для изменения propertyName цвета.

When setting color values on materials using the Standard Shader, you should be aware that you may need to use EnableKeyword to enable features of the shader that were not previously in use. For more detail, read Accessing Materials via Script.

Common color names used by Unity's builtin shaders:
"_Color" is the main color of a material. This can also be accessed via color property.
"_EmissionColor" is the emissive color of a material.

See Also: color, GetColor, Shader.PropertyToID, Properties in Shader Programs.

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void Start() { Renderer rend = GetComponent<Renderer>(); rend.material.shader = Shader.Find("Specular"); rend.material.SetColor("_SpecColor", Color.red); } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961