查看: 606|回复: 0
打印 上一主题 下一主题

[其他] 判断Material的Color是否为空

[复制链接]

9903

主题

126

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
53488
精华
316

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2015-5-30 03:14:40 |只看该作者 |倒序浏览

刚刚做个工具想批量获取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]问题~

分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-8-6 08:52 , Processed in 0.166588 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部