Laya跟Cocos发布后模型与动画资源大小对比

今天因为打Cocos的WebMobile包出来比Laya的要大,跟策划还有美术口水大战一场。他们说为什么Laya开发的,包体就这么少Cocos差不多一样的资源,打出来怎么就大这么多。
为此我找了一个模型,一个贴图,和几个动画,从unity用Laya导出跟Cocos打包后导出对比看,发现Cocos确实多了许多,导致这场口水战争失败,乖乖认错。
Laya资源是407K,Cocos资源是650K。
Laya导出资源截图:
image
Cocos发布WebMobile资源截图(我把import和native里面的所有文件都拿出来)

除了大小,这里有几点问题说一下:
1、模型里如果带了贴图跟动画,在resources下是会被一起导出的,如果项目有外部贴图,是会导致导出后有两个贴图文件。
2、贴图选择压缩后,发布webmobile后,竟然N个种格式的图片都有。
3、模型里的材质,动画无法复制出来外部使用。

2,贴图会根据项目设置进行全部导出,不想要那么多格式就别添加太多就好。因为不同平台不同浏览器支持的格式不同,运行时引擎只会下载第一个匹配到的格式,不会重复加载。
3、请问为什么要复制出来外部使用?

情况是这样,不确定是不是我没有仔细看文档导致的问题:
2、我有一张JPG贴图,只想在发布后,把这个JPG贴图给压缩并且覆盖我现在这张图(因为包体的问题,不想生成除了了压缩后JPG的其它文件存在。目前情况是我勾了useCompressTexture后,会生成多种格式贴图,导致包体过大。

image
3、unity可以支持复制出来外部使用,很方便。比喻我有一颗树,想要复制一个材质出来改一下颜色,让树的类型变成好几种,再比喻,我有一个动画,觉得美术太长了,想要删除掉一些关键帧。

压缩纹理和其他图片格式导致的包体影响有限,对于 web 端和小游戏的远程资源,只会请求需要的资源格式,当然如果打成 bundle,会大一些。现在的压缩纹理策略是在运行时才能判断能运行什么格式,打包的时候无法判断运行时的兼容情况,所以必须把所有你配置的格式都打出来

2、点击“编辑预设”,在 Preset 里面移除你不需要的格式就行了。或者新建一个 PrefsetId。
3、材质提取出来就行,参考 模型资源 · Cocos Creator 。动画也支持切片,可以对美术的时长进行任意裁剪

非常感谢两位的回复,我在做Playable开发的,包体大小是3.5M~5.0M之间,对于资源大小还是挺敏感的,请问一下,Cocos这边对于包体与资源大小这一块是怎么看呢,比喻拆分更细的模块,减少空项目包体,压缩模型与动画,压缩json等资源格式等。
我这里只是举了一个模型的跟动画的大小比较,实际上,一个项目正常使用不止一个模型,在包体有限的情况一下,100K都是很可贵,更别说1M的资源大小了。所以还是很想了解一下关于包体总大小这一样,大佬们的看法。

单纯追求包体的话,在构建时使用包体更小的纹理配置,半透明图选择 png,不透明图选择 jpg,不要使用压缩纹理。模块的选择也要更细致一些。
引擎角度来说,我们会持续优化引擎包体和模块拆分,让大家可以获得更好的包体

这些图片压缩办法我都有使用,能用JPG,就不用PNG,但引擎发布除了这些用户可以自己定义压缩外,还有许多是用户无法压缩的,比喻模型,动画,还有大量的json文件,我本次作对比的就是这些用户无法自己压缩的部分,发现相同的3D资源,在发布后,Cocos这边的文件整理比较大,这个大是个什么概念,我只是简单的估计没有精确计算,1M大了有100~300K之间,就是Laya发布出来的是1M,那Cocos这边大概是1.1M~1.3M之间,如果不对bundle使用的压缩类型选择”合并所有Json“的话,这个比例在3D资源多的情况下会翻倍,就比如我当前做的这个素材,Laya的zip包是3.5M,而Cocos这边的zip包是4.0M。
我这个贴是希望能被官方关注到,做小游戏,就是想要精小,特别是单机小游戏,或者是做Playable的,对于包体的要求很高,我很喜欢Cocos的开发,不希望因为这个包体的问题导致在最终去选择其它引擎来开发,肺腑之言,包体问题希望能被你们重视。

我也是做playable,也是遇到同样的问题~那么最后怎么解决~

3.5.0版本有个打包的bug,后面已经修复了。不过据我观察,多重导出图片应该还在,Mesh带一些tangent信息,多材质时有重复顶点等问题,会导致Mesh要比gltf原模型的要大,这些只能自己注意了。