- 最后登录
- 2021-7-6
- 注册时间
- 2012-12-27
- 阅读权限
- 90
- 积分
- 76145
 
- 纳金币
- 53488
- 精华
- 316
|
刚刚做个工具想批量获取Material,然后把它的颜色显示出来,可是遇到发现有些Material没有颜色可以供我设置。当我获取时会报错:
[code]csharpcode:Renderer renderer = GetComponent<Renderer>();Material mat = renderer.sharedMaterial;Debug.Log(mat.color); //报错
那怎么跳过颜色的判断?非空判断?mat.color == null?显然不行,因为mat.color都报错了,不用想mat.color == null这样的语法了,那我们来看一下报错的信息:
Material doesn't have a color property '_Color'
查了相关的API,终于找到一个方法来判断了:
[code]csharpcode:mat.HasProperty("_Color")
用这个方法就可以判断Color是否为空,解决报错的[color=rgb(85, 85, 85) !important]问题了 ~
|
|