unity text的材质颜色.material.color与自身颜色text.color问题

本文探讨了在Unity中如何正确使用color和material.color属性进行UI颜色渐变,避免材质修改导致不可逆效果。作者揭示了默认材质设置的重要性,并提供了修改和复位建议,适用于初学者和遇到问题的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

出进坑小白 问题,可能说得有部分偏差欢迎补充

做颜色渐变(变淡消失),看到别人的教程为

     Color c = textUI.material.color;
            c.a = alphaRemaining;//alphaRemaining从1到0变化
            textUI.material.color = c;

但是发现,运行完一次,在取消运行之,text消失,重新运行之后又可见(c.a变为1)。

当代码改为 

   Color c = textUI.color;
            c.a = alphaRemaining;//alphaRemaining从1到0变化
            textUI.color = c;

此时程序依旧能够正常运行,只是运行结束后将进行复位(text文字将不会消失)

从而发现当通过程序直接改变material.color.a将导致不可逆变化(运行结束不会复位);

进一步研究发现,当自己创建材质加入到text.material后,,导致之后创建的所有UI组件无法正常显示,只有自己逐个创建材质加入后才能显示。

根据测试以及网上查资料得出,unity默认在创建UI物体时会添加默认材质和shader,当自己添加一次材质后,unity就不会帮助默认添加材质和shader。

因此慎重更改text的材质,或自己更换材质。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值