設定したマテリアルプロパティをすべて削除します。
Graphics.DrawMeshが最も効率的な方法となるのは渡されたプロパティブロックをコピーして すべての DrawMesh 呼び出しでひとつのブロックを作成してそれを再利用することです。 Clear を使用してブロックの値をクリアし、 AddFloat , AddVector , AddColor , AddMatrix により値を追加します。
var aMesh : Mesh; var aMaterial : Material = new Material(Shader.Find("VertexLit")); function Update() { var materialProperty : MaterialPropertyBlock = new MaterialPropertyBlock(); // Clear any property and add a red color materialProperty.Clear(); materialProperty.AddColor("_Color", Color.red); Graphics.DrawMesh(aMesh, Vector3(5,0,0), Quaternion.identity, aMaterial, 0, null, 0, materialProperty); // Clear any property and add a green color materialProperty.Clear(); materialProperty.AddColor("_Color", Color.green); Graphics.DrawMesh(aMesh, Vector3(-5,0,0), Quaternion.identity, aMaterial, 0, null, 0, materialProperty); }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public Mesh aMesh; public Material aMaterial = new Material(Shader.Find("VertexLit")); void Update() { MaterialPropertyBlock materialProperty = new MaterialPropertyBlock(); materialProperty.Clear(); materialProperty.AddColor("_Color", Color.red); Graphics.DrawMesh(aMesh, new Vector3(5, 0, 0), Quaternion.identity, aMaterial, 0, null, 0, materialProperty); materialProperty.Clear(); materialProperty.AddColor("_Color", Color.green); Graphics.DrawMesh(aMesh, new Vector3(-5, 0, 0), Quaternion.identity, aMaterial, 0, null, 0, materialProperty); } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): public aMesh as Mesh public aMaterial as Material = Material(Shader.Find('VertexLit')) def Update() as void: materialProperty as MaterialPropertyBlock = MaterialPropertyBlock() materialProperty.Clear() materialProperty.AddColor('_Color', Color.red) Graphics.DrawMesh(aMesh, Vector3(5, 0, 0), Quaternion.identity, aMaterial, 0, null, 0, materialProperty) materialProperty.Clear() materialProperty.AddColor('_Color', Color.green) Graphics.DrawMesh(aMesh, Vector3(-5, 0, 0), Quaternion.identity, aMaterial, 0, null, 0, materialProperty)