我正在团队中的Unity项目中工作,当然,我们使用Github进行版本控制。
不幸的是,我们遇到的问题是,检查器设置没有受版本控制,这导致我们的所有GameObjects都失去了对Scripts的出口,并且每当我们切换分支时,所有连接都会丢失。
在处理某些事情时,我们会将对象连接到脚本并获得如下内容:
但是当我们切换分支时,我们得到了这个,并且必须重新连接所有内容:
随着项目的不断发展,这非常烦人! 我们有两个gitignore文件,一个位于项目的根级别:
./Project
还有其他人在撒谎,但我认为它们不会影响Project文件夹(Unity项目所在的位置)。
我个人认为Project/Library/assetDatabase3
是存储检查员设置的文件,但我错了。
非常感谢任何帮助。
答案 0 :(得分:3)
你的gitignore不应该忽略元文件,它们对于统一功能至关重要。基本的Unity .gitignore文件应该只忽略*.pidb.meta
和。{
*.pdb.meta
。
删除*.cs.meta
和*.meta
条目。
答案 1 :(得分:1)
场景的检查器设置存储在场景资产文件中。
场景资产文件和脚本是否在git控制之下。?
如果您调整其中一个场景的设置,您应该能够在git中看到更改的文件。
编辑 有关脚本的信息存储在ShareView.unity场景文件中。 例如
m_Script: {fileID: 11500000, guid: e639a2fe330734500b135115fa275a75, type: 3}
此处引用的guid应与script.meta文件相对应 e.g。
fileFormatVersion: 2
guid: e639a2fe330734500b135115fa275a75
我没有git控制资产数据库或/ Library中的任何内容。当从另一个git用户获得提交更改时,unity会重新导入我的资产(并且从内存中可能会重新创建.meta文件)。 我想知道存储在资产数据库文件中的某些元信息是否是导致您的问题的机器所独有的。
建议您尝试从git control中删除资产数据库文件
编辑。
是的,不要忽略.meta文件。 Unity依靠他们将事物联系在一起