多人协作
说到多人协作开发,大家都会想到要使用版本控制工具来管理项目,当然最常用的要数SVN和Git了,但是SVN管理Unity3D项目的确有一些不尽人意的地方。
比如:两个人修改了同一个场景,SVN更新时就不能合并,还有在Unity Editor 中SVN不可视化,不友好!
我们团队初期也是使用SVN进行提交和更新。记录一下我们一路走来的历程……
写作环境
本文写作环境在Unity 4.2及以下版本
==内容更新==
本段内容更新于:2016-07-02
新版Unity的场景合并
对于Unity4.3及以上版本,场景可以很方便合并啦!
开启方法:
在Editor – Project Setting – Editor Settings 中把 Asset Serialization改为Force Text
这样就可以对不同版本的场景进行文本比较啦。
推荐插件
推荐此免费插件,免费版具备update ,commit ,remove ,showlog,reversion,还有状态图标
Svn Tools Lite (免费):https://www.assetstore.unity3d.com/cn/#!/content/49128
过程记录
下面记录一下我们团队使用版本管理工具的过程
SVN
SVN版本管理工具,对于大容量的美术资源管理并不是那么友好。
UVsersionControl
UVsersionControl,集成在Unity3D界面中,方便直观地使用SVN的功能,比如:update,commit,delete
此插件可以Asset Store上免费获得哦!
Asset store地址:https://www.assetstore.unity3d.com/#/content/3350
Unity论坛地址:http://forum.unity3d.com/threads/135247-UVersionControl
而且还是开源免费的哦,强烈支持作者!
Note
需要安装SVN的命令行版本才能使用此插件,注意:此命令行版本要和你已安装的Tortoise SVN客户端版本一致!作者推荐1.7版本的SVN.
下载地址:Windows Subversion 命令行 客户端(SVN) ,历史版本下载:http://www.sliksvn.com/pub/
与Unity集成
仓库管理
使用此插件也能比较方便地管理项目
Asset Server
我觉得最好的版本管理工具 要数Unity官方的Asset Server了。
下地地址:http://unity3d.com/unity/collaboration
Note
当两个文件发生冲突时,当你安装了TortoiseSVN之后就可以使用compare、合并工具比较两个文件的异同。
两个人修改同一场景,完全无压力终于摆脱了不能同时编辑同一个场景的困扰!
疑问
1.如何控制文件夹访问权限?
答:可以通过历史记录及自带的回收站功能来管理项目
常见错误
1、有时候如果代码报错,另一人的GameObject设置不会相应载入,提示你需要先解决代码错误,大部分情况下都是编码问题,就是代码中有中文注释。需要把文件另存为UTF-8
2、需要先Update才能Commit
3、当有冲突时需要合并代码文件 Merge
功能预览
Asset Server资料
Unity指南:Asset Server (Team License Only) Setting up the Asset Server
Mac OS 代码合并工具
- SourceGear Diff/Merge.
- FileMerge: part of Apple’s XCode development tools.
- TkDiff.
- Perforce Merge (p4merge): part of Perforce’s visual client suite (P4V).
文档资料
Asset Store 版本管理:https://www.assetstore.unity3d.com/en/#!/search/page=1/sortby=popularity/query=category:158