多人协作

说到多人协作开发,大家都会想到要使用版本控制工具来管理项目,当然最常用的要数SVN和Git了,但是SVN管理Unity3D项目的确有一些不尽人意的地方。

比如:两个人修改了同一个场景,SVN更新时就不能合并,还有在Unity Editor 中SVN不可视化,不友好!

我们团队初期也是使用SVN进行提交和更新。记录一下我们一路走来的历程……

写作环境

本文写作环境在Unity 4.2及以下版本

==内容更新==

本段内容更新于:2016-07-02

新版Unity的场景合并

对于Unity4.3及以上版本,场景可以很方便合并啦!

开启方法:

EditorProject SettingEditor 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资料

asset server u3d项目管理

Unity指南:Asset Server (Team License Only) Setting up the Asset Server

Mac OS 代码合并工具

  1. SourceGear Diff/Merge.
  2. FileMerge: part of Apple's XCode development tools.
  3. TkDiff.
  4. 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多人协作开发环境搭建的更多相关文章

  1. Unity3D 多人协作开发 环境搭建 笔记(场景合并)

    http://www.cnblogs.com/zhaoqingqing/p/3371120.html 说到多人协作开发,大家都会想到要使用版本控制工具来管理项目,当然最常用的要数SVN和Git了,但是 ...

  2. (转载)JAVA敏捷开发环境搭建

    整个软件项目分为四个环境 开发本地环境.开发环境.测试环境.IDC环境.和传统C++开发不一样的模式是多了第一个开发本地环境.这是为什么呢,因为目前大部分开发人员还是比较熟悉windows下开发.对于 ...

  3. [ZigBee] 2、 ZigBee开发环境搭建

    本节介绍ZigBee基本开发环境搭建,附件中有本节介绍的软件下载地址~ 链接:http://pan.baidu.com/s/1bLdqxg 1.IAR Embedded Workbench 的安装 S ...

  4. android开发环境搭建日记和嵌入式Android开发环境初探

    非常感谢博客园的各位,按照你们的博文,还有利用百度和谷歌逐渐建立了android的开发环境,只是给自己备份参考查看,看过的人可以忽略这篇文章. 本文章大部分参考了:http://www.cnblogs ...

  5. 五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程

      在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入Android浪潮的朋友们,为了确保大家能顺利完成开发环境的搭 ...

  6. JavaEE开发环境搭建(1)---(jdk的安装)

    ----------我是前言---------- 有时候从网上找资料真的是一件很开(dan)心(teng)的事情, 因为很多你想要了解的东西总是很巧妙的被略去了... 或者... 根本没有... 真是 ...

  7. Scala深入浅出实战经典---001-Scala开发环境搭建和HelloWorld解析

    001-Scala开发环境搭建和HelloWorld解析 Scala 函数式编程和面向对象结合的语言 函数式编程擅长数值计算 面向对象擅长大型工程和项目的组织以及团队的分工协作 Scala会是下一个伟 ...

  8. Android开发环境搭建相关文章列表(转载)

    Android开发虽然有所了解,但是一直没有搭建开发环境去学习,Android的更新速度比较快了,Android1.0是2008年发布的,截止到目前为止Android已经更新Android5.0.1, ...

  9. nginx 与 lua 开发环境搭建

    首先下载最新版的 相关软件 的安装文件. nginx: http://nginx.org/en/download.html LuaJIT: http://luajit.org/download.htm ...

随机推荐

  1. java service wrapper 级别为info导致内存剧增直至溢出

    上周,公司某一环境发生java service wrapper内存剧增导致最后被自动killed的情况,经过分析,确定导致java service wrapper(后续简称wrapper)守护进程内存 ...

  2. 【python】获取高德地图省市区县列表

    项目中需要用省市区来进行检索,原想高德地图肯定会有API来获得这些数据,结果没有找到,有一个接口好像可以用,但是会附带大量的边界坐标点. 所以就不如自己把高德的省市区列表扒下来,自己写接口来完成这个功 ...

  3. javascript-this,call,apply,bind简述1

    最近在系统的学习面向对象方面的知识,遇到的最大拦路虎就数this的指向,call,apply,bind函数的使用,单独抽出一天时间把这几个烦人的家伙搞定,去学习更深入的内容. 首先介绍一下this的一 ...

  4. CLEAR REFRESH FEEE的区别

    clear,refresh,free都有用来清空内表的作用,但用法还是有区别的.clear itab,清空内表行以及工作区,但保存内存区.clear itab[],清空内表行,但不清空工作区,但保存内 ...

  5. dict和set

    #dict和set #dict #Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map #使用键-值(key-value)存储,具有极快的查找速度. #字 ...

  6. RecyclerView添加头部和底部视图的实现

    ListView是有addHeaderView和 addFooterView两个方法的. 但是作为官方推荐的ListView的升级版RecyclerView缺无法实现这两个方法. 那么如果使用Recy ...

  7. iOS之多控制器管理--项目中的常见文件

    项目中的常见文件 内容大纲: 1.LaunchScreen 2.info.plist文件 3.pch文件 1.LaunchScreen xcode5和xcode6区别 1.xcode6没有Framew ...

  8. JDBC编程 之 增删改查

    JDBC编程之数据增加,更改,查询,删除 package com.good.jdbc; import java.sql.Connection; import java.sql.DriverManage ...

  9. javascript的模块化解读

    AMD是RequireJS在推广过程中对模块定义的规范化产出. 异步加载模块,依赖前置,提前执行. Define定义模块 define(['require','foo'],function(){ret ...

  10. JavaScript Patterns 2.9 Coding Conventions

    It’s important to establish and follow coding conventions—they make your code consistent, predictabl ...