Unity3D代码动态修改材质球的颜色

代码动态修改材质球的颜色:

gameObject.GetComponent<Renderer>().material.color=Color.red;//当材质球的Shader为标准时,可直接使用此方法修改颜色值

gameObject.GetComponent<Renderer>().material //得到的material是经过实例化之后的material(Instantiate)

Color color=new Color(0.5f,0.5f,0.5f,.0.5f);//修改颜色的RGB数值时,填入的值为float类型,且值为:数值/255

gameObject.GetComponent<Renderer>().material.SetColor("_TintColor",color);//若材质的Shader为Particles时,可使用此方法改变颜色

 

unity3d 用到 renderer.material.color.a 总是出现下面错误怎么解决?

Cannot modify a value type return value of `UnityEngine.Material.color' Consider storing the value in a temporary variable

//错误用法
renderer.material.color.a
//正确用法 Color c = renderer.material.color; c.a = 0.4; renderer.material.color = c;

 

unity中代码使用(R,G,B)颜色值需要除255f,颜色值才会生效。

label.effectColor = new Color(39f / 255f, 83f / 255f, 150f / 255f);

 

posted @ 2019-03-26 19:50  vuciao  阅读(17524)  评论(0编辑  收藏  举报