3.7.0引擎meta文件反复变更问题

随着项目扩展,每次打开文件,都会有meta文件自动被变更
和同事确定了引擎的一致性。如下图(我的引擎版本)
dh4gmh5lSo

同事引擎版本如下图
img_v2_c2ebb8a2-a243-4985-bc7c-92f752d8c1ag

我俩的引擎版本是一致的。
但是同一个图片的meta文件,反复被变更,更有意思的是
自己也会变更自己。。。。git图如下
该同事这个变更是把6c48a这个字段从f9941的上面转移到了下面

马上他自己又把这个6c48a这个字段从f9941的下面转移到了上面

然后我再打开这个工程,这个图片的meta再次发生变化

现在大部分的png图片都有这个问题。。。meta文件字段,反复横跳
这对我开发造成了极大困扰。。各位大佬有没有遇到这种请款,有解决方案的

1赞

顶一下。。有没有大佬遇到过这种问题

我3.6.3也有,就位置变了,内容一样,我都是手动放弃更改 :rofl:

这是把meta文件也上传了?

sorry,这个问题我们也尝试解决过,但是现在 js 规范里关于这部分的排序是无序的。可能我们后期只能更换数据结构或者重新实现一个 JSON.stringify 了 :sweat_smile:

其他机器上正常么?这两台机器有没有什么特殊的东西,比如 mac 和 win 出来的不一样,win11 和 win10 出来的不一样之类的?

谢谢大佬。回复。。之前我考虑的也是两台机器因为其他东西影响导致问题。
后来发现同一台电脑,他自己一段时间后。也会出现meta文件乱序的问题。
具体在我上面图片里面可以看到。

连续2次提交 都是一个叫 hulingrui 开发提交的

他都是使用的同一台电脑。所有这个乱序应该是在同一台电脑也会发生。
现在只能不断地放弃修改。

嗯。。不上传会有问题吧
他meta文件里面是一个uuid,作为唯一标识符
其他预制体里面引用,都是引用的这个uuid。

我测试了一次,如果我把meta删除,那么他引擎重新生成的uuid是不一样的


这个是我删除了一个meta文件,然后引擎刷新重新生成的新uuid

然后之前挂载了这个311010_1预制体的场景就找不到这个预制体了。成了miss状态

如果忽略所有meta,且不上传meta文件,多人协作开发,那各自生成的meta
势必uuid不一致,那肯定会出现上述的问题,别人的电脑上引用某个预制体
更新到你的电脑上就是miss状态,因为你和他的子预制体的uuid不一致。所以找不到。

我想问下楼主,是怎么管理.meta的文件的,是每次提交都要确认所提交的文件要带上.meta吗?这里又可能会涉及uuid冲突问题,我用官方的UITest工程做了个测试 故意把某个图片的.meta删了 然后工程会重新生成一个新的meta出来 我看到原本依赖这个图片资源的节点依旧正常的展示这个图 如果说.meta删了不影响展示 那么为什么又需要提交这个.meta文件呢?让不同的工作人员自己电脑打开的时候各自生成自己的uuid不就可以了吗 还是说我还忽略了一些什么东西

.meta文件中记录的是uuid,如果你是多人协作开发。
那你需要上传,cocos底层是如何生成uuid没有去细究
但猜测应该是用了本地MAC地址做运算

所以不同的电脑同一个文件,生成出来是不一样的。

你预制体里面依赖的某个ts文件或者另外一个预制体
其实是保存的这个预制的体meta文件中的uuid

所以你不上传meta文件的话。
另外的人下载下来就没有正确的依赖关系