nameID | プロパティー名 ID。Shader.PropertyToID を使って取得します。 |
name | プロパティー名。例えば、"_Color"。 |
value | 設定する Color 値。 |
Sets a named color value.
多くのシェーダーでは複数の色を使用します。色を変更するには、SetColor を使用します (シェーダーの propertynName、または、プロパティー固有の nameID から識別)。
標準シェーダーを使用しているマテリアルの色の値を設定するとき、以前使用していないシェーダーの機能を有効にするために EnableKeyword を使用する必要があることに注意しなければなりません。詳細については 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.
//Attach this script to a GameObject that has a Renderer component
using UnityEngine;
public class Example : MonoBehaviour { void Start() { //Fetch the Renderer from the GameObject Renderer rend = GetComponent<Renderer>();
//Set the main Color of the Material to green rend.material.shader = Shader.Find("_Color"); rend.material.SetColor("_Color", Color.green);
//Find the Specular shader and change its Color to red rend.material.shader = Shader.Find("Specular"); rend.material.SetColor("_SpecColor", Color.red); } }