【3.8.5构建Bug可复现】启用压缩纹理导出的jpg图片异常

针对jpg图片资源启用压缩纹理,配置如下


新建的3.8.4项目在cocos creator3.8.4构建Android平台,可以正常导出 jpg格式
新建的3.8.5项目在cocos creator3.8.5构建Android平台,可以正常导出 jpg格式

如果用 3.8.4新建的项目 升级到3.8.5,在cocos creator3.8.5构建Android平台,导出的jpg格式是损坏的,无论原始jpg图片资源是什么,都是生成1个13k的图

请问怎么解决?

麻烦有空的时候给一下 .jpg 图片,我这边会复现一下,但是还是希望能保持复现的资源是一致,感谢

我这边测试是正常的

或者你给我一下你的项目

demo:
https://cdn-applet.flash8f.com/pandaHomeLand/app/web_cn/test_file/jpg_bug_demo.zip

补充发现:可能不是升级导致的,而是构建过程中有报错(但是我认为这个报错不应该影响jpg图片生成才对)

我试一下你的 demo 看看会不会复现

看了一下是你的插件问题,先根据报错信息,把插件的 hook.js 55 行的报错修复一下,在试一次

已修复插件报错,生成的图片仍然异常
新demo:
https://cdn-applet.flash8f.com/pandaHomeLand/app/web_cn/test_file/jpg_bug_demo2.zip

你把插件的 asset-handlers 的 compressTextures 去掉就可以了,应该是这里面的 pngToJPG 有问题,这个我们会完善一下构建插件的代码

好的,谢谢

提到这里,我说一下。这里的文档和ts定义是有一些问题。

interface ICompressTasks {
    src: string; // Source file address
    dest: string; // Address of the generated target file (default suffix is PNG, other types need to be changed manually)
    quality: number | IPVRQuality | IASTCQuality | IETCQuality; // Compression quality 0 - 100 or other compression levels
    format: ITextureCompressType; // Compression type
}

这里的task 其实不是这个结构了,quality 被放到options里面了。
如果还用这个结构来用task,这里的quality就是空的。如果在这里设置quality,打包流程也找不到设置的那个quality了。

好的,我反馈一下