首先提供官方参考文档:API-Reference-MeshRenderer
概述: MeshRenderer类继承自Renderer类;
属性
Material mat = this.GetComponent<MeshRenderer>().sharedMaterial;
mat.color = Color.red;
方法
sharedMaterial用在游戏中,主要用于只读;如果需要修改,则要使用material;
但是要注意material的使用,material的set和get方法中,它是通过创建一个材质的实例副本来作返回值,所以我们每次获取material都会创建一个实例,如下代码是大忌,因为每一帧都会创建实例,会不断累积造成大量内存占用;需要在start中创建变量用于实例副本的引用;
void Update()
{
target.GetComponent<MeshRenderer>().material.color = Color.red;
}