Unity中的meta文件问题
来源:互联网 发布:qq飞车神影官方数据 编辑:程序博客网 时间:2024/06/05 09:49
最近在Unity开发中遇到了一个关于.meta文件的问题。
一、问题如下:
新同事入职之后并没有在我们本来的项目里进行开发,而是每一个独立的模块都开启一个新的Unity工程进行开发,开发好之后,在Unity中导出unitypackage包,导入我们的项目中。
新建工程开发完第一个模块导出unityPackage包并且导入项目一切正常,但是新建项目进行第二个模块的开发的时候,在模块的工程中导出unityPackage包并无问题,但是在导入我们的项目中出现了如下问题:
ChildWalkingInTheForest文件夹下的在原来的项目中导出时本来是在CaveGame文件夹下,但是导入我们的项目中却跑到了ChildWalkingInTheForest文件夹下,如果我开启一个新的项目,导入这个package包,则一切正常,如下图:
二、原因分析:
unity中不论是文件还是文件夹都会生成一个对应的.meta文件,在.meta 文件中会有Unity自动生成的一个独一无二的guid值,因此问题有可能出现在导入过程中文件夹的.meta guid值重复了,导致本来应该在CaveGame文件夹下的一些文件和文件夹跑到了另一个文件夹下。
使用文本编辑器打开查看后,果然是guid重名,如图,这是CaveGame文件夹下的Animator文件夹和ChildWalkingInThwForest文件夹下的Animator文件夹的.meta文件对比。
可以看到guid和timeCreated是相同的,因此导致了上述问题。
三、解决方案
第一时间想到的解决方案就是直接将每个冲突的文件夹和文件对应的.meta文件中的guid手动修改,只需对每个guid修改一位即可,但是在修改完成之后,发现项目中的一些动画、prefab、场景中的关联都消失了,需要重新进行编辑。
因此这个方法对于较小的模块可以这样直接进行修改。但是如果遇到比较多的冲突,丢失的关联就会比较多,因此不推荐这种方法。
第二种方法,在google后找到一个类似的问题:
https://answers.unity.com/questions/460530/forcing-a-guid-to-regeneraterefresh.html
在回答中有提到重新为每个文件和文件夹生成guid.我并没有使用这个方法,因为我们的问题已经解决,如果你想尝试这个方法,一定要首先做好备份,防止出问题。
- Unity中的meta文件问题
- unity中的meta和mainfest文件
- Unity meta文件
- unity meta文件
- VS Code 隐藏Unity的.meta文件
- Unity工程中 .Meta 文件的来龙去脉
- Unity工程中 .Meta 文件的作用
- 【技术】【总结】Unity:.meta 文件简单介绍
- OBJ文件动态载入Unity中的一个算法小问题
- Unity中的数值问题
- flac文件中的meta data和picture
- JAR文件中的META-INF文件夹
- 浅谈html中的meta及乱码问题
- APK META-INF/LICENSE,文件重复问题
- unity3d 中的UNITY.cgnic文件
- unity3d 中的UNITY.cgnic文件
- unity shader中的surfaceoutput问题
- Unity编辑器类中的问题
- 第一个示例程序FreakOut编译问题
- 对于stm32,初学者用库函数好还是直接对寄存器操作比较好
- pat考试总结
- 分布式端口扫描利刃: 使用DNmap创建Nmap集群
- HttpClient4.5 Apache 教程 [记录]
- Unity中的meta文件问题
- BZOJ1034[ZJOI2008]泡泡堂BNB--贪心(田忌赛马)
- 第十周——项目一(2)—二叉树的构造
- tomcat配置https详解
- JavaScript ------- 文本内容 选择 (高级程序设计)
- Oracle分析函数
- pyqt5界面与逻辑分离--信号槽的装饰器实现方式
- jia
- ROS的参数服务器使用纪要