有时候我们可能会动态创建、或者加载一些物体需要改变一下物体的基本颜色,但是一个材质球我们可能用在很多物体上,所以就需要用到下边的这个方法;
private Material cubeMat;//使用代码动态创建
void Update()
{
if (Input.GetMouseButtonDown(0))
cubeMat= new Material(Shader.Find(“Custom/NewSurfaceShader”));//在project窗口中找到这个shader脚本
float r= 100/255;
float g=255/255;
float b=150/255;
cubeMat.color=new Color(r, g, b, 1);//设置颜色(注意:new Color 的rgb的数值范围是0-1 ,无论你给rgb 设置的什么都要除于255,这样才是你在unity里面看到的颜色。 color32则是 0-255的数值范围)
gameobject.GetComponent().material = cubeMat;//将设置的颜色赋给你的物体
}
如果有问题或者哪里不对 希望各位留言,谢!