FBX模型发布会额外导出图片,导致包体变大

版本:3.5.0
1、项目中有一个FBX模型,在材质选项中不映射的情况下显出如下:


2、发布webMobile会发现在模型路径下,额外多了两张图片
image
这两张图片在其中目录中也一样有导出
image
image

3、如果项目中的贴图路径修改(需要重新导入FBX),会显示成这样:


4、发布webMobile会发现在模型路径下,额外多了两图片。
image

总结:不管怎么样,发布后,都会生成图片,导致包体变大,以下还有几个导致包体变大问题:

3.5.0比较严重的bug,打包发现预制体的json文件非常大,里面每个都包含了shader代码

Build后 texture cube变成多张图,导致包体增加好几M问题

还有一个问题就是项目资源,发布后竟然比较原始资源要大,这个我没有时间去研究是为什么,但我还是建议引擎组多关注一下。


这里个人弱弱的质疑一下,引擎组是不是在版本升级过程中,没有关注过包体这一回事,如果没有,建议新版发布增加发布包体测试这个流程。
cocos引擎的大量目标群众是小游戏,小游戏顾名思义就是要包体小,如果大了,那就不是小游戏了。

方便给下测试用的 fbx 文件?helloworld 内的模型没测试出来, 215194780@qq.com

我把测试项目发送到你的邮箱了,辛苦看一下。

问题 1:
fbx 有使用贴图 #26,贴图 #27(native ->47 下的就是这两张),另外又新建了两个材质,材质上又使用了额外的两张贴图 BossP01_D,BossP02_D(native -> 5d,native -> 59 是这两张),不同的贴图,不同的引用,这边是觉得哪里应该做区分?
image

问题 2:这个重新导入是指怎样的重新导入?我测试后的显示是这样,感觉测试步骤是不是和你测的不一样:


问题1,不是很看懂你说的意思,我在外面新建两个材质,就是不想使用FBX里面的材质,这里需要特别说明一下,这个FBX文件里,是没有包含贴图的,之所以在编辑器看到FBX里面的材质有贴图,是编辑器的行为。

问题2,这个FBX在3DMax默认的贴图路径就是当前目录下或者是textures目录下,所以你测试的时候,需要让外面的两张贴图跟FBX文件不在同一个目录结构下。(你可以在window外面复制这个FBX,放到其它目录(没有贴图的目录),然后进编辑器,就可以看到两个纯黄色的贴图了。

原 fbx 文件发下看看?

有发邮箱 215194780@qq.com过去了。

看显示都有贴图,不是编辑器比较特别,window10 自带查看,blender,3dsmax

我知道fbx除了本身可以带贴图外,也可以引用外部文件贴图,只要相对路径正确,各种3D软件都可以自动加载然后映射。
但Cocos这边的问题是,模型没有带贴图的情况下,自动把外部引用贴图当内部贴图处理了,发布后,除了外部贴图被打包,这个引用贴图也会被打包,导致发布后,就有两份一样的贴图文件。
如果模型没有引用到外部贴图文件,在发布后,依然会有色块图片。

如果这样讲还是无法定位问题的话,建议加个微信,我们及时沟通都可以。

兄弟,请问这个问题,有进展了吗?

抱歉,这么久回 :cold_sweat:,图片这个问题,暂时避免的话,可以将内置材质上面的贴图引用改为外部的那两张贴图,构建的时候就不会一起生成了。

场景里使用 prefab 的时候是引用的关系,如果没有断开对 prefab 的引用,那么查找依赖的时候找到原始的 prefab 以及原始的 prefab 引用的其他贴图就不奇怪了。如果不希望有原来 prefab 引用的贴图,就断开对原始 prefab 的关联,构建就只会有当前场景里涉及的贴图了。

您好,打扰了,麻烦问下贴图那个问题解决了么,具体该怎么操作

把模型下材质引用的虚拟贴图资源换成外部实际的那几张图片就不会额外导出了

建议这个bug还是有计划修复一下,问题还是有点严重的,因为发布后文件被打散,使用者并不是能特别容易了解到。

这个不算 bug,这边已经说明了原因了。

这个算是 bug,不过目前没有特别好的解决方案,我们后续会尝试跟进一下。

我试过,如果fbx放在buddle里面打包的时候,即使贴图映射了,fbx里面的原始贴图也会跟着一起打包出去,但是如果没有放在buddle里面原始贴图就不会打包出去

兄弟啊,我打安卓包,80M的资源打出来的包是360M ,这个问题这么严重你们竟然没重视,我想问下你,别人游戏做好不发布上线了吗?