1、问题描述
提交记录 7e9d6275da88a87dbd69e42f17f20174f4af5d9b
这图片,原本ios的压缩格式是 RGBA32 (meta显示 textureFormat: 4)
代码在OnPreprocessTexture处设置了正确的格式
这几处打log,输出
导入unity,刷新资源后,unity显示
但meta文件没发生变化!
2、后果
用安卓格式的复现
,打出ab
表现正常,没因为格式不同拆分图集。
但因为meta文件是错的!所以提交到git上的就是错误信息,不知道有没什么暗含坑,还是需要处理!
3、解决方法
3.1 手动reimport
导入资源后,再对出问题的资源reimport
缺点:人工操作容易漏改。
3.2 改动导入贴图代码
在OnPostprocessTexture处,检查资源的meta文件,
这两处是否为 textureFormat: 4
如果是,reimport一次该资源
AssetDatabase.ImportAsset(assetPath);
处理后,回滚出问题的图片效果:
缺点:
- 导入贴图时引入了检查meta文件操作,有增加一定的耗时;
- 检查时,对应的meta文件其实还没被unity改动(即格式修改还没被写进meta),能正常改动meta文件的资源也会被重新导入一次。