Unity不是版本控制GameObjects的Inspector设置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity不是版本控制GameObjects的Inspector设置相关的知识,希望对你有一定的参考价值。

我正在团队中的Unity项目中工作,当然,我们使用Github进行版本控制。

不幸的是,我们遇到的问题是检查器设置没有受版本控制,这会导致我们的所有GameObjects都失去了对Scripts的出口,并且每当我们切换分支时,所有连接都会丢失。

在处理某些事情时,我们会将对象连接到脚本并获得如下内容:

ShareViewInspectorConnected

但是当我们切换分支时,我们得到了这个,并且必须重新连接所有东西:

ShareViewInspectorDisconnected

随着项目的不断发展,这非常烦人!我们有两个gitignore文件,一个位于项目的根级别:

RootLevelgitignore

还有一个在./Project

ProjectLevelgitignore

还有其他人在撒谎,但我认为他们不会以任何方式影响Project文件夹(Unity项目所在的位置)。

我个人认为Project/Library/assetDatabase3是存储检查员设置的文件,但我错了。

任何帮助非常感谢。

答案

你的gitignore不应该忽略元文件,它们对于统一功能至关重要。一个基本的Unity .gitignore文件应该只忽略*.pidb.meta*.pdb.meta

删除*.cs.meta*.meta条目。

另一答案

场景的检查器设置存储在场景资产文件中。

场景资产文件和脚本是否在git控制下。

如果您调整其中一个场景的设置,您应该能够在git中看到更改的文件。

编辑有关脚本的信息存储在ShareView.unity场景文件中。例如

m_Script: {fileID: 11500000, guid: e639a2fe330734500b135115fa275a75, type: 3}

这里引用的guid应该与script.meta文件相对应,例如

fileFormatVersion: 2 guid: e639a2fe330734500b135115fa275a75

我没有git控制资产数据库,或/ Library中的任何东西。当从另一个git用户获得提交更改时,unity会重新导入我的资产(并且从内存中可能会重新创建.meta文件)。我想知道存储在资产数据库文件中的某些元信息是否是导致您的问题的机器所独有的。

建议您尝试从git控件中删除资产数据库文件

编辑。

是的,不要git忽略.meta文件。 Unity依靠它们将事物联系在一起

以上是关于Unity不是版本控制GameObjects的Inspector设置的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Unity 中让 GameObjects 在屏幕上平滑平移?

循环遍历用于 AutoSpawn 的 Unity GameObjects 数组

Unity 编辑器学习之 全局光照(GI)

Unity脚本篇 - 使用组件控制GameObject

Unity脚本篇 - 使用组件控制GameObject

开源项目MLAPI正式加入Unity