cocos-engine icon indicating copy to clipboard operation
cocos-engine copied to clipboard

处理 fbx 文件的meta时 出现不一致的bug.

Open finscn opened this issue 1 year ago • 10 comments

Cocos Creator version

3.8.3

System information

macOS

Issue description

9月30日版 的3.8.4 也有这个问题. 同一个 fbx, 在两台不同的机器里打开 ( 两天机器用的同样版本的cocos , 同样版本的操作系统) , 会生成不同的 meta文件. 差异主要有两个 , 如下图:

一个在 subMetas 下会生成更多的 内容, 一个不会: image

一个 isUuid = true , 一个 isUuid = false: image

Relevant error log output

No response

Steps to reproduce

如上所述

Minimal reproduction project

No response

finscn avatar Oct 08 '24 07:10 finscn

@minggo 两台电脑之前都是 macos 14, 后来都升级到了 macos 15 , 但无论怎么折腾, 都有这个问题.

另外 并不是所有 fbx 都有这个问题. 那些没有这个问题的fbx文件 都是主贴截图里的左边那种情况 ( 有更多的subMetas, 且 isUuid = true ). 但是这些 fbx 都是用统一的方式制作和生成的. 所有参数都一样.

finscn avatar Oct 08 '24 08:10 finscn

那你能提供个有问题的 demo 吗?

minggo avatar Oct 08 '24 08:10 minggo

那你能提供个有问题的 demo 吗?

怎么私聊? 不能把项目里的 fbx 发到公网

finscn avatar Oct 08 '24 08:10 finscn

论坛私信?

minggo avatar Oct 10 '24 01:10 minggo

论坛私信?

已发

finscn avatar Oct 11 '24 04:10 finscn

2 种情况出现的条件

  1. 单独导入 fbx 模型,没有贴图时:

只有 uuid 没有 img 的 url 是 "db://xxx",

  1. 反之如果先有贴图在导入 fbx 模型的话,就会出现 'db://xxxx'

初步怀疑是资源导入的时序问题,先导入了 fbx,解析不到贴图,用了默认的贴图

knoxHuang avatar Oct 11 '24 08:10 knoxHuang

2 种情况出现的条件

  1. 单独导入 fbx 模型,没有贴图时:

只有 uuid 没有 img 的 url 是 "db://xxx",

  1. 反之如果先有贴图在导入 fbx 模型的话,就会出现 'db://xxxx'

初步怀疑是资源导入的时序问题,先导入了 fbx,解析不到贴图,用了默认的贴图

没看懂啥意思. 是我这边的操作顺序出错了? 我也没做什么操作啊. 就是把fbx文件 直接放到了项目里. 我怎么控制cocos导入fbx和贴图的时序呢

finscn avatar Oct 11 '24 11:10 finscn

@knoxHuang 对了 我再补充个情况 就是 fbx的meta 有时候也会不一致, hasAlpha 的值 在有的机器上为true 有的 为false. 不知道是不是也是类似原因.

我之前提过 issue https://github.com/cocos/cocos-engine/issues/17322

finscn avatar Oct 11 '24 11:10 finscn

2 种情况出现的条件

  1. 单独导入 fbx 模型,没有贴图时:

只有 uuid 没有 img 的 url 是 "db://xxx",

  1. 反之如果先有贴图在导入 fbx 模型的话,就会出现 'db://xxxx'

初步怀疑是资源导入的时序问题,先导入了 fbx,解析不到贴图,用了默认的贴图

没看懂啥意思. 是我这边的操作顺序出错了? 我也没做什么操作啊. 就是把fbx文件 直接放到了项目里. 我怎么控制cocos导入fbx和贴图的时序呢

就是,需要先拖 fbx 的贴图到编辑器中,再导入 fbx 文件,这样导入 fbx 文件时,才能读取到 fbx 贴图的资源,否则他会创建 fbx 自带的默认贴图资源


这个时序问题我们可能要考虑一下如何处理

knoxHuang avatar Oct 16 '24 07:10 knoxHuang

@knoxHuang 不仅仅是 fbx 文件. 我们项目里的 effect文件 也遇到了类似问题.

image

图里的那个 .json 有的机器 有的机器没有...

finscn avatar Oct 16 '24 08:10 finscn

问题分析出来,是因为 fbx 文件里包含 windows 的路径,比如 c:\\a\\b.grass。转化工具使用的是 boost 库获取文件名字,但是在 mac 平台没法处理这样的路径。已经修复了工具了,在 3.8.6 版本会带上新工具工具。

minggo avatar Dec 03 '24 10:12 minggo

@finscn 你的 fbx 文件是不是比较早的版本?

minggo avatar Dec 03 '24 10:12 minggo

@finscn 你的 fbx 文件是不是比较早的版本?

可能吧. 我用的 kenny studio 的免费资源

finscn avatar Dec 03 '24 12:12 finscn

@finscn 你的 fbx 文件是不是比较早的版本?

可能吧. 我用的 kenny studio 的免费资源

我的意思是,你是否用比较早期的 cocos creator 导入过这个 fbx 资源,然后升级上来。

minggo avatar Dec 04 '24 02:12 minggo

@finscn 你的 fbx 文件是不是比较早的版本?

可能吧. 我用的 kenny studio 的免费资源

我的意思是,你是否用比较早期的 cocos creator 导入过这个 fbx 资源,然后升级上来。

没有. 我甚至为了防止这个原因, 还重新导入了

finscn avatar Dec 05 '24 05:12 finscn