疯狂星期四???让资源压缩如丝般顺滑

在这个浮躁的年代,我知道大家都没空看介绍。所以我都是直接先放链接的
资源批量压缩|Cocos Store

一眨眼一个月就要过去了,每天都在加班中快乐 :rofl: :rofl: :rofl:
每次到打包调试的时候,看见这个资源压缩每次都去重新压缩一遍,心里万分煎熬。
终于在好兄弟们拿刀架在我脖子上对我说,这玩意再不优化下就要拿我去祭天了。
于是我耗尽了毕生功力,把这玩意重新梳理了一遍。终于勉强达成了好兄弟们的需求 :joy: :joy: :joy:

:sparkling_heart:全版本支持一键批量压缩png、jpg、mp3资源,专注游戏开发,无需关心自己是否忘记有没有压缩资源。:sparkling_heart:

目前仅支持的操作系统环境为Windows
本脚本需要安装nodejs才可使用

目前支持的压缩资源类型如下

资源类型 PNG JPG MP3 WAV
是否支持 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: :heavy_multiplication_x:
压缩软件 pngquant JPG-C lame :heavy_minus_sign:
软件版本 2.17.0 4.0.21.902 3.1.00 :heavy_minus_sign:

脚本优点

  • :boom:无cocos插件版本限制的困扰,1.x~3.x全版本皆可使用:boom:
  • 开发过程中,无需单独对资源做压缩处理。(也有可能是忘记压缩了)
  • 构建发布后一键处理发布目录下项目的所有资源并压缩成zip包。方便直接上传服务器。

:boom:V2.0.0更新内容:boom:

  • 重构压缩脚本逻辑,提高JPG压缩速度100倍:rofl::rofl::rofl:
  • 新增资源重复构建检测,如果相同资源被构建出多份,则只会压缩第一次检测到的资源
  • 新增动态输入压缩目录名,免去手动修改压缩目录名
  • :rocket:新增压缩缓存,第一次压缩后会缓存压缩过的资源。下次压缩时已压缩过的文件则不会再次压缩。据说压缩只要1秒。:rocket:

    资源缓存测试效果

    未缓存 1658916517872.png
    缓存后 1658916625141.png

使用说明

  • 脚本放在构建发布目录下,双击【点我开始资源压缩.bat】输入需要压缩的目录名
  • 例如:web-mobile,脚本将会针对web-mobile目录进行资源压缩

参数说明

如需修改压缩参数,请用IDE打开【点我开始资源压缩.bat】修改如下对应的参数即可

资源类型 参数 最低品质 最高品质 备注 默认参数
PNG –quality 0 100 品质越高资源越大 50-80
JPG -q 9 0 品质越高资源越大 5
MP3 –abr 8 320 品质越高资源越大 24
如不想打包zip或者有不想要压缩的资源类型可在【点我开始资源压缩.bat】中注释掉相关代码

单资源测试效果

默认参数下压缩 JPG PNG MP3
压缩前 JPG.jpg PNG.jpg MP3.jpg
压缩后 jpg 2.jpg png2.jpg MP32.jpg

整体资源测试效果

默认参数下压缩构建资源包前后体积减少约30%
使用效果对比,见下图:

压缩前 1656993392639.jpg
压缩后 1656994715718.jpg

最后

该作品正在参加cocos插件有奖征集赛活动。如果该作品对你有帮助,希望能在投票阶段获得您的宝贵一票。感谢各位大佬的支持

13赞

上班,同事欺我,老板骂我,顾客打我,我流浪在固戍街头,衣衫褴褛,身无分文,活得不如一条流浪狗。天地浩大,却没有我的容身之处。我想问一问苍天,今天肯德基疯狂星期四,谁请我吃?

Mark!

刚才试用了一下,资源确实压缩很多 :cow: :beer:
我放了一个textures文件夹,为啥要输出这么多其他的缓存和临时文件

这个缓存文件是让下次压缩时,不会对已压缩过的资源再次进行压缩。提高打包效率

1赞

理解了,感谢大佬的分享~

恩,你再次压缩时。就能达成1秒的成就啦 :rofl: :rofl: :rofl:

:ox::beer::ox::beer::ox::beer:

不开启creator的情况下,我记得貌似插件不能生效吧?所以跟构建相关的东西做成插件不是很方便

插件我不太清楚,因为我也不会弄插件 :rofl: :rofl: :rofl:
我这个只是一个运行脚本。所以跟编辑器没任何关系的。你可以拿去压缩任何东西生成的png,jpg资源。不局限于cocos。别的web,unity,美术资源,甚至是一个普通的文件夹。任何跟png、jpg有关的都能用的

这就是传说中秒男嘛

1秒真男人 :smirk:

反而是更加方便吧,可以使用用命令行发布项目,把这个插件执行放在项目构建成功之后

如果有重复的文件名,但是文件夹不同会有问题

好的,我没有测试不打MD5的情况下压缩。有空我改下

请问一下,MAC下可以用吗?

还不能哦,麒麟子大佬

我试了下,不同文件夹下的同名文件不勾选MD5也是正常的。你这种情况好像不是构建后的资源吧?我看到还有meta文件?

是的,没有构建后的资源

crestor2.x版本可以吗