Unity3D多人协作开发环境搭建
多人协作
说到多人协作开发,大家都会想到要使用版本控制工具来管理项目,当然最常用的要数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
这样就可以对不同版本的场景进行文本比较啦。

过程记录
下面记录一下我们团队使用版本管理工具的过程
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
Unity3D多人协作开发环境搭建的更多相关文章
- Unity3D 多人协作开发 环境搭建 笔记(场景合并)
http://www.cnblogs.com/zhaoqingqing/p/3371120.html 说到多人协作开发,大家都会想到要使用版本控制工具来管理项目,当然最常用的要数SVN和Git了,但是 ...
- (转载)JAVA敏捷开发环境搭建
整个软件项目分为四个环境 开发本地环境.开发环境.测试环境.IDC环境.和传统C++开发不一样的模式是多了第一个开发本地环境.这是为什么呢,因为目前大部分开发人员还是比较熟悉windows下开发.对于 ...
- [ZigBee] 2、 ZigBee开发环境搭建
本节介绍ZigBee基本开发环境搭建,附件中有本节介绍的软件下载地址~ 链接:http://pan.baidu.com/s/1bLdqxg 1.IAR Embedded Workbench 的安装 S ...
- android开发环境搭建日记和嵌入式Android开发环境初探
非常感谢博客园的各位,按照你们的博文,还有利用百度和谷歌逐渐建立了android的开发环境,只是给自己备份参考查看,看过的人可以忽略这篇文章. 本文章大部分参考了:http://www.cnblogs ...
- 五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程
在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入Android浪潮的朋友们,为了确保大家能顺利完成开发环境的搭 ...
- JavaEE开发环境搭建(1)---(jdk的安装)
----------我是前言---------- 有时候从网上找资料真的是一件很开(dan)心(teng)的事情, 因为很多你想要了解的东西总是很巧妙的被略去了... 或者... 根本没有... 真是 ...
- Scala深入浅出实战经典---001-Scala开发环境搭建和HelloWorld解析
001-Scala开发环境搭建和HelloWorld解析 Scala 函数式编程和面向对象结合的语言 函数式编程擅长数值计算 面向对象擅长大型工程和项目的组织以及团队的分工协作 Scala会是下一个伟 ...
- Android开发环境搭建相关文章列表(转载)
Android开发虽然有所了解,但是一直没有搭建开发环境去学习,Android的更新速度比较快了,Android1.0是2008年发布的,截止到目前为止Android已经更新Android5.0.1, ...
- nginx 与 lua 开发环境搭建
首先下载最新版的 相关软件 的安装文件. nginx: http://nginx.org/en/download.html LuaJIT: http://luajit.org/download.htm ...
随机推荐
- 以Web Host的方式来寄宿Web API
一.新建一个Common的类库项目并新建一个测试用的Contact实体类 namespace Common { public class Contact { public string Id { ge ...
- 六个创建模式之抽象工厂模式(Abstract Factory Pattern)
问题: 使用工厂方法模式的主要问题是工厂类过多,每个产品对应一个工厂,不利于维护.因此可以考虑使用一个工厂创建一个产品族. 定义: 提供创建一些列相关或相互依赖的对象实例的接口,这些类可以称为一个产品 ...
- 同源策略和JSONP(概念性)
同源策略 浏览器有一个很重要的概念——同源策略(Same-Origin Policy). 所谓同源是指,域名,协议,端口相同.不同源的客户端脚本(javascript.ActionScript)在没明 ...
- MapGIS转Shp文件的单位问题
在MapGIS浏览查看一下数据,各种不习惯:用mapgis自带的转shp功能,属性表会出错:利用名为map2shp的试用版软件可将mapgis格式的数据较为良好转成shp格式.但经常会遇到一个单位问题 ...
- Hosts文件小结
今天又遇到Hosts,小结一下: Hosts文件是什么? Hosts文件从表象上来看是一个没有扩展名的系统文件.其基本作用就是将一些常用的网址域名与其对应的IP地址建立一个关联"数据库&qu ...
- cell自适应高度
MyModel.h #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface MyModel : ...
- 简明 Vim 练级攻略(转)
原文:http://coolshell.cn/articles/5426.html vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会 ...
- Linux线程学习(二)
线程基础 进程 系统中程序执行和资源分配的基本单位 每个进程有自己的数据段.代码段和堆栈段 在进行切换时需要有比较复杂的上下文切换 线程 减少处理机的空转时间,支持多处理器以及减少上下文切换开销, ...
- 异常处理——毕向东Java基础教程学习笔记
1.异常:就是程序运行过程中出现的不正常情况. 异常的由来:问题本身也是日常生活中一个具体的事物,也可以通过java类的形式进行描述,并封装成对象. 其实 ...
- Oracle 数据库二 基本查询
查询当前用户:show user 查看当前用户下的表:select *from tab; 设置行宽: show linesize;(查看行宽) set linesize 120;(设置行宽) ...