Unity3D游戏开发中的版本控制研究

  • 格式:doc
  • 大小:29.50 KB
  • 文档页数:6

Unity3D游戏开发中的版本控制研究
摘要:在软件开发过程中,为让不同的角色与开发的成员共同协作,使整体的开发更有效率,出现了版本控制技术。

介绍了在Unity3D游戏开发环境下分别构建SVN和AssetServer两种版本控制系统的方法,并总结各自优点和不足,为Unity3D游戏开发者提供参考。

关键词:Unity3D;游戏开发;SVN;Asset Server
0 引言
在软件开发过程中,常常会生成各种各样不同的工件,如文档、源程序、可执行代码、支持库,游戏软件开发中还会出现模型、纹理、材质等。

而在此过程中,经常会出现类似情况:找不到某个文件的历史版本,而这个版本又是非常重要的,因为目前版本无法恢复正确运行;开发人员使用错误的版本修改程序,导致错上加错;开发人员未经授权修改代码或文档,或修改的结果不能及时反映到各个相关部分,导致开发过程不一致;人员流动、交接工作不彻底造成关键软件部分遗失等诸多问题,因此软件开发行为中出现了版本控制系统。

版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变化的管理,其主要功能就是追踪文件的变更。

通过版本控制,可全面记载系统开发的历史过程,包括为什么修改,谁作了修改,修改了什么,完整、明确记载开发过程中的历史变更,因此版本控制系统在软件开发过程中得到了广泛应用。

本文通过介绍了SVN(Subversion)和Asset Server两种版本控
制系统,分别结合Unity3D游戏开发系统,描述了版本控制系统在游戏开发中的应用,为Unity3D团队开发者提供可参考的实现方法。

1 Unity3D下的版本控制管理
本文所介绍的2种版本控制管理系统的安装与配置方法,采用客户端/服务器(Client/Server)架构部署,服务器操作系统选择Windows Server 2003平台,客户端操作系统选择Windows 7平台,版本控制服务器端分别使用专门的程序,客户端则结合或集成于Unity3D游戏开发环境。

1.1 SVN版本管理实现方法
1.1.1 SVN的安装
在Windows平台下,Subversion的服务器端软件可以使用“VisualSVN Server”,“VisualSVN Server”是一款免费的软件,它集成了Apache组件,使得客户端可以通过HTTP协议访问服务器,同时还提供了图形化的管理界面;客户端软件则选择“TortoiseSVN”。

(1)服务器端安装。

到官方网站http:///server/download/中下载最新版的VisualSVN Server二进制安装包。

下载后根据提示安装并选择默认的参数即可,这样我们建立了SVN服务器可以运行的环境。

(2)客户端安装。

到官方网站http:///download 下载最新版的客户端软件TortoiseSVN。

TortoiseSVN是扩展Windows Shell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别SVN的工作目录。

下载时根据自己工作站操作
系统版本选择相应的二进制安装包,下载后直接运行安装包,根据提示安装即可,安装完后需要重启系统。

1.1.2 SVN服务器配置
在服务器端系统中对VisualSVN Server进行配置时,第一步是建立代码仓库,在VisualSVN Server的管理窗口,右击该窗口的左栏中的“Repositories”,从弹出菜单中选择“新建”,为新创建的代码库命名,如MyKit;第二步,右击VisualSVN Server窗口的左栏中的“Users”,为团队成员分配帐号,如developer1、manager1、modeler1、tester1等;第三步,选中第一步所创建的代码库名,右击选择“Properties…”,添加第二步所创建的用户,并为用户设置相应的权限,服务器配置完毕。

1.1.3 SVN客户端的配置
在客户端系统中,首先利用Unity3D创建一个项目,然后在Unity3D编辑器窗口中选择Edit>Preferences,从弹出的窗口中选择ExternalTools选项,查看Asset Server diff tool是否为TortoiseMerge (客户端TortoiseSVN),接下来再选择Edit>Project Settings>Editor,Version Control的mode有三个选项:Disabled、Meta Files、Asset Server,在这里我们选择Meta Files,如图1所示,此时系统会针对资源文件自动生成相应的.meta文件。

下一步就是在Unity3D所创建的工程文件下,找到Assets目录并使用鼠标右键点击该目录,从弹出菜单中选择“import…”,在弹出窗口中的URL of repository中输入:https://服务器IP/svn/MyKit,服
务器IP是指安装了VisualSVN Server的服务器的IP地址,svn是代码仓库的根目录,MyKit是新创建的代码库,其他的默认,点击“OK”按钮,此时会弹出要求输入用户名和密码,输入前面所创建的用户名和密码即可,然后系统会自动把本地的资源目录下的所有文件签入到版本控制服务器中。

其他团队成员只需要在工作站的任何位置,如桌面,右击鼠标,从弹出的菜单中选择“export…”,将代码库中的文件从服务器端签出到本地即可。

1.2 AssetServer版本管理实现方法
1.2.1 AssetServer安装
Unity3D的Asset Server是一款简单但强大的专门为游戏资源和脚本设计的版本控制服务器。

Asset Server是免费开源的,但和Unity3D配合使用时需要购买Unity3D的团队开发许可。

Unity Asset Server能在Windows、Mac OS以及Linux平台下运行,可在http:///unity/team/assetserver下载相应的软件包。

在Unity3D官网上下载Windows的二进制安装包并进行安装,需要注意的是,在Windows Srever 2003环境下需要安装.net framework2.0,安装时根据提示进行安装即可。

1.2.2 AssetServer的配置
AssetServer的服务器端不需要进行配置,只需要设置管理员的密码,系统默认的管理员帐号为admin,安装完成后直接启动即可。

由于Asset Server的客户端是集成于Unity3D游戏引擎中的,所以建立代码库和建立用户均在Unity3D编辑器下完成。

首先在Unity3D编辑器中选择Edit>Project Settings>Editor,在弹
出的编辑器设置窗口中将Version Control的model修改为Asset Server,接着再选择Windows>Asset Server,打开Asset Server配置窗口,在Server窗口中,有三个栏目,分别是:Current Project、Asset Server Actions、Asset Server Administration。

第一次使用版本控制系统时,点击Asset Server Administrator下的Administration按钮,此时可根据提示输入服务器的地址、用户名以及密码,点击“connect”按钮连接到服务器端的Asset Server,与服务器连接好后则激活了在服务器端建立新项目的“Create”按钮和建立新用户的“New User”按钮,可以利用这些按钮来创建新项目和新用户。

接下来再回到Server窗口的Overview项,点击Current Project 下的“connect”按钮,此时又出现了与服务器连接的相关信息,但在右边则显示了服务器中目前存在的项目,选择刚创建的项目名称,点击“Connect”按钮,系统将自动生成有关的信息,并同时将本地项目中的资源信息签入到服务器当中,其他团队成员只需要根据自己的用户信息从服务器中签出资源即可。

2 比较分析
在目前Unity3D项目中,使用SVN或Asset Server都可以很好地实现版本控制,表1中列出了SVN和Asset Server的优缺点。

3 结语
版本控制系统能解决开发中出现的版本混乱、沟通不畅、变更管理不好等问题,必将会越来越广泛地使用,通过比较SVN和Asset Server两个版本控制系统在Unity3D游戏开发中的实现方法和总结它
们的优缺点,为更好地实现Unity3D团队项目开发打下基础。

参考文献:
[1]韩万江,姜立新.软件项目管理案例教程[M].北京:机械工业出版社,2005.
[2]赖信任.UML与Enterprise Architect 7.5团队开发实用手册[M].北京:电子工业出版社,2010.
[3]戴楠,闫明星.用SVN实现软件的版本控制[J].电脑知识与技术,2009(5).
[4]Unity Asset Server[EB/OL].http:///unity/team/assetserver.。