Creator3.7.2 文件目录,UUID莫名其妙变化问题

  • Creator 版本:3.7.2

  • 目标平台:微信小游戏

  • 重现方式:未知

  • 首个报错:Creator里正常操作,准备git commit时发现莫名其妙多了很多的文件改动,观察是发现一个文件夹(所有的操作从始至终并未碰触这个文件夹)被拷贝到了另外一个文件夹里,于是使用git discard掉所有相关的移动,只保留自己编辑scene的内容,然后实际的拷贝文件的确被还原了,但是被拷贝而导致新复制的文件夹目录(文件夹,文件夹meta)一直存在并显示在Assets的文件目录结构里;并且被复原的实际文件(两个model)的UUID也自动发生了变化,并且这两个model在Assets Panel里不再显示但在硬盘中实际存在;然后又用git取消这些UUID的变化,再切回Creator,UUID再次自动发生变化,git取消再切回Creator再次改变,死循环。

最终解决方法:关闭Creator,关闭VSCode,在硬盘里手动删除所有被莫名其妙复制而创建的新文件夹相关内容和meta,再次打开Creator,恢复正常

你好,还能找到出现问题时候的日志吗?在项目 temp/asset-db/log ,可以发一份出问题那段时间的日志吗?

你好,这是昨晚的asset-db log,发生时间在20:23左右
log.zip (177.8 KB)

uuid 变动的原因是由于 assets 内已经有相同 uuid 的资源,遇到这种情况,git 还原 uuid 变化后,先不要打开编辑器,在资源系统搜索相关 uuid ,删除同名 uuid 资源里不要的哪一个。比如这里的问题其实就是被复制出来的新文件夹,里面有很多已有资源的 uuid 出现冲突后在导入后就会自动更新 uuid 。

日志看起来正常,都在导入修改的 scene 文件。暂时没有发现编辑器操作复制整个大文件夹的可能。

发现一个文件夹(所有的操作从始至终并未碰触这个文件夹)被拷贝到了另外一个文件夹里

这里的文件夹名称可以具体说说?

dir
是model文件夹被复制到了phyMaterial文件夹内;

关于你的回复,我没有太理解:
uuid 变动为什么会是,原始文件因为复制文件的产生而变动,而不是直接把复制的文件视作为完全的新文件而给崭新的uuid,这样不就没有任何冲突了吗。

特别细节的,我因为没有时间并不打算再去做任何多的测试了

uuid 变动为什么会是,原始文件因为复制文件的产生而变动,而不是直接把复制的文件视作为完全的新文件而给崭新的uuid,这样不就没有任何冲突了吗。

这里的意思就是原始文件包括 meta 被复制了一份,而 uuid 存储在 meta 里,导入时会优先使用 meta 里的 uuid 而不是新的 uuid ,出现冲突后才会分配 uuid。

从你给的目录信息来看不太可能是编辑器的行为,更像是误操作导致的,但你又说你没有做其他任何处理,那只能后续再观察一下了。

编辑器复制文件夹时,会复制meta文件吗?粘贴相当于导入?

3.7.1 使用过程中,偶尔会出现,删除文件报错之类的。烦死了
报错好像跟meta有关,删不掉还是咋的

删除文件之前版本确实有点问题,在 3.7.2 有做修复,方便试试看是否解决了你的问题吗?或者你直接贴一下报错这边看看是不是同一个问题