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 ...
随机推荐
- java service wrapper 级别为info导致内存剧增直至溢出
上周,公司某一环境发生java service wrapper内存剧增导致最后被自动killed的情况,经过分析,确定导致java service wrapper(后续简称wrapper)守护进程内存 ...
- 【python】获取高德地图省市区县列表
项目中需要用省市区来进行检索,原想高德地图肯定会有API来获得这些数据,结果没有找到,有一个接口好像可以用,但是会附带大量的边界坐标点. 所以就不如自己把高德的省市区列表扒下来,自己写接口来完成这个功 ...
- javascript-this,call,apply,bind简述1
最近在系统的学习面向对象方面的知识,遇到的最大拦路虎就数this的指向,call,apply,bind函数的使用,单独抽出一天时间把这几个烦人的家伙搞定,去学习更深入的内容. 首先介绍一下this的一 ...
- CLEAR REFRESH FEEE的区别
clear,refresh,free都有用来清空内表的作用,但用法还是有区别的.clear itab,清空内表行以及工作区,但保存内存区.clear itab[],清空内表行,但不清空工作区,但保存内 ...
- dict和set
#dict和set #dict #Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map #使用键-值(key-value)存储,具有极快的查找速度. #字 ...
- RecyclerView添加头部和底部视图的实现
ListView是有addHeaderView和 addFooterView两个方法的. 但是作为官方推荐的ListView的升级版RecyclerView缺无法实现这两个方法. 那么如果使用Recy ...
- iOS之多控制器管理--项目中的常见文件
项目中的常见文件 内容大纲: 1.LaunchScreen 2.info.plist文件 3.pch文件 1.LaunchScreen xcode5和xcode6区别 1.xcode6没有Framew ...
- JDBC编程 之 增删改查
JDBC编程之数据增加,更改,查询,删除 package com.good.jdbc; import java.sql.Connection; import java.sql.DriverManage ...
- javascript的模块化解读
AMD是RequireJS在推广过程中对模块定义的规范化产出. 异步加载模块,依赖前置,提前执行. Define定义模块 define(['require','foo'],function(){ret ...
- JavaScript Patterns 2.9 Coding Conventions
It’s important to establish and follow coding conventions—they make your code consistent, predictabl ...