Unity Svn(转)
先吐个槽。关于这个国内各种简单到家的文章让人搞不懂,而且场景合并,prefab合并等关键问题都说没法解决,其实本质就是因为它们都是二进制文件,所以SVN没法对其合并,但事实上Unity是支持把这些文件都强制使用文本的!后面会提到。另外本人英文能力有限,渣翻译。虽说是翻译,但其实没照搬。
正文:
对于任何项目来说版本控制都是至关重要的,但对于Unity来说是个头疼的问题。现在Unity的最新版是3.5,已经可以简单的进行版本控制了(说明:现在是4.x了,当然3.5都有的功能4.0不可能没有)。
步骤:Edit > Project Settings > Editor
选择之后到Inspector窗口,如图所示
Version Control一栏默认模式是disabled,改成 “Meta Files”,这样之后Unity会对所有资源文件创建相应的.meta文件,这会让你的工程更好的配合SVN(吐槽:其实我完全不知道是干嘛用的,那些.meta.....)。
DEMO部分略过,只是介绍那些个.meta的,自己试试丢几个资源进去然后到文件夹里面去看看就知道了。
Unity使用meta文件记录数据和资源(asset)的设置,所以包括文件夹在内都会有同名的.meta文件。
现在你可以关闭Unity然后把工程目录里面的Library文件夹删掉。然后仅提交“Assets” 和 “ProjectSettings” 两个文件夹到SVN。然后重新打开工程,Unity会重新导入所有资源。你不需要把Library文件夹导入SVN。需要注意的是,如果你想移动或重命名文件,你要把它的.meta文件也以前移动或者重命名,如果你是在Unity里面移动,就不需要考虑这个(说明:这里没提到重命名是不是也一样,实际上只要你是在Unity里面操作的就不用担心.meta文件,Unity会自行处理,当然我只是用4.0测试了而已)。
剩下的就是关键的二进制文件问题。因为场景和prefab都是用二进制保存的,而如果多个人同时操作场景或修改prefab,那么因为SVN无法合并二进制文件而产生冲突。而事实上,Unity是可以强制把所有文件都保存成文本的。
还是这张图
下面的Asset Serialization(资源序列化)选项就是序列化方式,默认是mix(混合),这里强制改成Force Text(强制文本),然后关闭Unity,重新打开,全部Unity自己生成的二进制资源都变成文本了,这样SVN就可以对齐合并,当然还是要人为的避免冲突,除非你摸透了那些序列化文本的含义,可以手动编辑冲突。
来看看文本序列化后的场景:
看了之后感觉自己手动编辑的可能性较低,所以场景还是尽量不要同时编辑,否则可能会出现不可预料的情况,这个只能自己使用后凭经验行事了。
译文来源:http://blog.csdn.net/fg5823820/article/details/9531339
Unity Svn(转)的更多相关文章
- 【Unity/SVN】使用SVN管理Unity项目
本文转载自:http://blog.csdn.net/neil3d/article/details/38437237 Unity提供了自己的XXXServer,不过大家评论好像不是很好用,主要是不支持 ...
- SVN 文件解锁
之前一直一个人用svn,后来团队扩编,同事使用svn下载项目后.我却无法提交了,出现以下错误: locked in another working copy No lock on path (Stat ...
- Unity使用外部版本控制SVN
原地址:http://www.cnblogs.com/realtimepixels/p/3652146.html Using External Version Control Systems with ...
- unity插件开发——一个例子:简单的svn集成
在unity开发过程中,通常我们习惯性地在Windows操作系统下使用svn进行版本管理,而每次提交更新,都需要回到文件夹下的这种操作让人无法忍受.是不是可以集成svn到unity中呢?查了一圈uni ...
- UNITY 状态机 + SVN + 码云 下篇
上篇说到自己写的一个FSM状态机,这篇写怎么把代码和码云联系在一起! 首先,我们应该知道为什么使用码云? 码云是开源中国社区2013年推出的基于 Git 的完全免费的代码托管服务,这个服务是基于 Gi ...
- unity 状态机 + svn + 码云 上篇
最近刚找到在实习,忙于公司一个c++ 项目 ,一直想写博客来着,没时间写今天熬夜打算先献上自己前几天自己封装的一个fsm状态机 话不多说,直接上正题,这篇博客主要是在学校的时候状态机一直使用的是pla ...
- 聊聊Unity项目管理的那些事:Git-flow和Unity
0x00 前言 目前所在的团队实行敏捷开发已经有了一段时间了.敏捷开发中重要的一个话题便是如何对项目进行恰当的版本管理.项目从最初使用svn到之后的Git One Track策略再到现在的GitFlo ...
- 让Unity NavMesh为我所用
Unity里面整合了一个NavMesh功能,虽然让人又爱又恨. 但当你在其他地方需要这个NavMesh的数据时,就更让人欲罢不能了. 比如说服务器需要Unity的NavMesh数据时. 比如说你想将U ...
- Unity Mono脚本 加密
加密环境 引擎版本:Unity3D 5.3.4 及更高版本 (使用Mono而并非IL2CPP) 操作系统:CentOS 6.2(Final) 加密环境:Android.IOS(暂定) 加密对象:C#源 ...
随机推荐
- Delphi中Messagedlg用法
if MessageDlg('Welcome to my Delphi application. Exit now?', mtConfirmation, [mbYes, mbNo], 0) = mrY ...
- LSM树由来、设计思想以及应用到HBase的索引
讲LSM树之前,需要提下三种基本的存储引擎,这样才能清楚LSM树的由来: 哈希存储引擎 是哈希表的持久化实现,支持增.删.改以及随机读取操作,但不支持顺序扫描,对应的存储系统为key-value存储 ...
- EF框架step by step(3)—Code-First
CodeFirst是EF框架的第三种方式,也是最为复杂一种方式,本文将以EF4.1版本为基础,简要讲解一下用法,同时,也介绍DbContext的用法. 本文采用的示例仍然是前两篇采用的博客用户的示例. ...
- ReSharper 配置及用法(二)
下载工具 一:Reshaper是什么 即便是那些整天攻击 .NET 和 C# 的人,也常常不得不承认 Visual Studio 确实是个够强大的 IDE,除非他认为更少的 IDE 功能和命令行调试才 ...
- 完全卸载Oracle方法、步骤
完全卸载Oracle方法: 软件环境: 1.Windows XP + Oracle 10g 2.Oracle安装路径为:d:\Oracle 1.如果数据库配置了自动存储管理(ASM),应该先删除聚集同 ...
- iOS数据持久化文件读写之偏好设置
很多iOS应用都支持偏好设置,比如保存用户名.密码.字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能.每个应用都有个NSUserDefaults实例,通过它来存取偏好设置.比如, ...
- django 数据库交互2
打开django shell python manage.py shell 输入命令 >>> from myapp import * >>> MySite.obje ...
- Reids 主从同步
安装Redis(主从两个装在同一服务器上) 参考地址:http://www.cnblogs.com/kgdxpr/p/3550633.html 主安装在“/usr/local/redis-Master ...
- [WP8.1UI控件编程]SemanticZoom控件实现分组列表
11.1.5 SemanticZoom实现分组列表 SemanticZoom控件可以让用户实现一种更加高级的列表,这种列表可以对列表的项目进行分组,同时这个SemanticZoom控件会提供两个具有相 ...
- ihhh题解
10分做法: 由于空间卡得紧,所以给了10分暴力分0.0所以大家很容易就知道暴力就是线段树套ac自动机辣时间:$O((\sum |qSi| + \sum |nSi|)*log Q)$空间:$O((\s ...