Unity的吐血巨坑之处 --- 发布版本和编辑器的纹理显示不一致

Unity在编辑器与发布的纹理显示可能存在差异,由于缓存问题可能导致发布后2D纹理模糊。通过Build and Run能暴露这种差异。本文详细描述了解决2Dtoolkit和NGUI在不同设备上纹理显示异常的过程,最终发现是纹理属性设置错误,调整为Unity的Sprite属性解决了问题。强调在开发中应重视Build and Run检查,以避免类似陷阱。

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

缓存。

编辑器的缓存和正式发布的时候缓存是一样的。这本来看起来没什么大碍,但是有经验的都知道编辑器里的纹理效果和实际发布的时候是不一样的,虽然这个我才刚刚知道。但是因为被缓存后,你在自己的机器上面看效果是正确的,但是放到别的机器上看就不对了,于是会陷入一个坑而找不到原因所在。虽然本身编辑器里面的效果和发布的时候不一样本身(有可能是插件导致)就是坑。但是有个方法可以在本机已经缓存纹理的情况下看到最终效果,那就是build and run

实际上我在build and run的时候已经看到效果不对了,但是没怎么在意,自以为只要最终运行没问题就行了,实际上也是出于害怕,因为如果是插件本身的问题,那么实际上是无解的。

这里说说具体遇到的情况和解决方法,我使用的2Dtoolkit和NGUI来做2D开发,但是发布到别的电脑之后游戏2D纹理显示不正常,变得非常模糊,起初还以为是分辨率导致,后来换了台一样分辨率的机器,还是一样。幸好这台机子运行过工程,才让我想到可能的原因 --- 缓存。因为那台机子原来运行的时候是正常的,只因为重启后就运行不正常了,只能说明原来正常的显示是因为使用了编辑器正常显示的缓存。可是就算知道这个又怎么解决呢?仍然找不到解决的办法。

无奈之下,尝试把一张2dtoolkit的运行时Sprite换成Unity自带的Sprite看看,结果显示正确了。难道要全部换成Unity自带的精灵?那几乎要重写了!用过2Dtoolkit的都知道那个玩意和Unity自带精灵差别太大了。如果是这样难道是插件的问题吗,但是2dtoolkit和NGUI同时出现这样的问题显得不可思议,而NGUI可以说是全线崩溃,所有纹理显示都是模糊的。于是插件问题的可能性很小,肯定是哪里设置错了。

经过各种尝试后最终发现,如果把NGUI的纹理设置成Unity自带的Sprite属性就显示正常了,终于找到突破口。这时候我才发现,2dtoolkit能正常显示的纹理,和不正常的对比,就是纹理属性的区别,2dtoolkit默认是用Advance加一些设置,实际效果应该和Unity的Sprite是一样的。

这让我想到最初用Unity自带的GUI的时候,渲染2D纹理需要改纹理属性,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值