Legacy Documentation: Version 4.6.2
Language: English
  • C#
  • JS
  • Boo

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

MaterialPropertyBlock.SetColor

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

Description

Set a color property.

Adds a property to the block. If a color property with the given name already exists, the old value is replaced.

	// Draws 3 meshes with the same material but with different colors.

var mesh : Mesh; var material : Material; private var block : MaterialPropertyBlock; function Start() { block = new MaterialPropertyBlock(); }

function Update() { // red mesh block.SetColor("_Color", Color.red); Graphics.DrawMesh(mesh, Vector3(0,0,0), Quaternion.identity, material, 0, null, 0, block);

// green mesh block.SetColor("_Color", Color.green); Graphics.DrawMesh(mesh, Vector3(5,0,0), Quaternion.identity, material, 0, null, 0, block);

// blue mesh block.SetColor("_Color", Color.blue); Graphics.DrawMesh(mesh, Vector3(-5,0,0), Quaternion.identity, material, 0, null, 0, block); }

Function variant that takes nameID is faster. If you are adding properties with the same name repeatedly, use Shader.PropertyToID to get unique identifier for the name, and pass the identifier to SetColor.

	// Draws 3 meshes with the same material but with different colors.

var mesh : Mesh; var material : Material; private var block : MaterialPropertyBlock; private var colorID : int; function Start() { block = new MaterialPropertyBlock(); colorID = Shader.PropertyToID("_Color"); }

function Update() { // red mesh block.SetColor(colorID, Color.red); Graphics.DrawMesh(mesh, Vector3(0,0,0), Quaternion.identity, material, 0, null, 0, block);

// green mesh block.SetColor(colorID, Color.green); Graphics.DrawMesh(mesh, Vector3(5,0,0), Quaternion.identity, material, 0, null, 0, block);

// blue mesh block.SetColor(colorID, Color.blue); Graphics.DrawMesh(mesh, Vector3(-5,0,0), Quaternion.identity, material, 0, null, 0, block); }