Unity *.meta文件,SVN和外部共享仓库

3
我有几个Unity Pro(4.5)项目,所有这些项目都需要共享一个SVN资产库。这主要包括脚本,但也可能有其他资产。
最初,我通过在适当的目录上使用svn:external属性来设置此项。然而,这并不起作用。因为每个项目都生成*.meta文件。由于这个原因,我不能在共享资料库中提交*.meta文件。这最终导致资产引用被破坏。
如何正确创建多个Unity项目之间的共享外部存储库?在Unity处理*.meta文件的方式下,这是否可行?

如果您尚未查看过文档,请先进行查看。我认为您还需要上传.meta文件。 - Andy
@Andy 我已经仔细阅读了那个,也按照那个设置了项目。但是,这是否意味着我应该将*.meta文件提交到外部共享存储库中?meta文件不会在项目之间发生变化吗? - Zeenobit
1个回答

2
元文件对于资源引用是必要的。它们赋予资源其全局唯一标识符(guid),并用于场景、预设等序列化。因此,如果您将场景或预设放入仓库,则每个引用到的资源都应该提交其元文件。否则,Unity将为您的资源生成新的元文件,并分配随机的guid,破坏所有引用。
因此,您的公共仓库必须包含它所包含的所有资源的元文件。如果您从一开始就没有这样做,那么现在应该开始。打开其中一个项目,修复任何损坏的引用,将所有元文件与属于公共仓库的任何对象的其他更改一起提交。然后,在使用公共仓库的每个其他项目中,拉取并覆盖所有内容。如果现在出现任何损坏的引用,则应该只是来自本地场景。也要将其修复。
现在,对于您的下一个项目,您可以简单地拉取包括元文件在内的所有内容。Unity将使用元文件告诉它使用的guid,所有引用都将保持完好无损。

提交*.meta文件到目前为止对我们来说似乎是有效的。我曾经认为如果你切换项目,Unity会更改*.meta文件。但事实并非如此。感谢您的澄清! - Zeenobit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接