解决项目构建后,2D 图片资源体积莫名变大(Fix Alpha Transparency Artifacts)

  • Creator 版本: 3.6.3

  • 目标平台: web-mobile

  • 重现方式:项目是纯2d的,随便放一些图片(我测试过png和webp,选项尝试过spriteframe和raw)进项目然后直接构建,打出来的包里的相同图片的体积都比原图要大很多,请问有办法避免吗?
    我留意到引擎有压缩纹理的功能,但是我不确定是否无损,而且我的原图就已经是优化过质量和体积的可以直接使用,所以最好的解决方案就是引擎不要添油加醋,直接用我的原图就可以了。

  • 首个报错: 无

  • 之前哪个版本是正常的: 不清楚

  • 手机型号: 无关

  • 手机浏览器: 无关

  • 编辑器操作系统: win10

  • 重现概率: 100%


单图简单测试正常,是有什么其他设置吗?

可能你的图片在打包之前已经被其它工具压缩过了(自己根据图片的原始分辨率去算未压缩时图片应该有的质量是多少),对于已经被压缩过的图片,再使用 Creator 的纹理压缩功能的话,图片是会变大的。这是图片压缩工具都存在的问题。已经压缩过的图片无需再进行质量压缩,可以尝试修改图片分辨率之后再进行质量压缩。

我最终找到了原因,是引擎自动启用的Fix Alpha Transparency Artifacts导致的,把这个选项取消掉就不会有图片变大的问题。
然而这个选项的注释是解决alpha通道黑边问题,我现在还没办法测试去掉之后到底会有什么副作用,因为我还在学习引擎怎么用,但是遇到的各种莫名其妙的奇怪问题让我越来越害怕了

很抱歉给你造成困扰,目前编辑器处理过的图片确实存在“去压缩”的可能,我们本意也是希望开发者可以把纹理压缩放到工作流的下一个环节。

  1. 比如把你们压缩原图用的工具集成到编辑器的压缩纹理中,设置为预设,由编辑器调用并且支持切换
    项目设置 · Cocos Creator
    image

  2. 比如在构建出指定项目后,对构建后的图片进行后处理统一压缩。这样就不容易出现遗漏,并且能够支持编辑器生成的图片(如自动图集)
    在 Store 里搜索压缩,能够找到大量的插件用于构建后的图片压缩。构建的压缩方式同样也可以自己定制,官方文档在
    自定义构建流程 · Cocos Creator

之后我们也计划把常见的 png 无损压缩库以方式 1 的方式内置到编辑器中,做到更好的开箱体验。

感谢回复,针对这个问题,其实只要你们在Fix Alpha Transparency Artifacts的备注里加一句“此选项可能导致图片体积增大”之类的说明就可以了。
另外关于纹理压缩,以个人经历过的项目来看,大多数情况下纹理会针对项目需求在打包前就预先优化,也就是说引擎自带的压缩功能我大概率是用不上的(说白了我还怕负优化),当然引擎带了这个功能不是坏事。

经过多次验证,这个选项确实可能导致包体变大,问题已经确认并将在下个版本修复。
目前建议大家先手动关闭这个参数,非常抱歉!

方法是在资源管理器中搜索所有 ImageAsset
image

然后按 Ctrl/Cmd + A 全选所有 Image Asset

然后去掉此选项并且 Save
image