陶 健 林
(安庆职业技术学院 电子信息系,安徽 安庆 246011)
基于Unity3D的虚拟校园漫游系统的实现
陶 健 林
(安庆职业技术学院 电子信息系,安徽 安庆 246011)
摘要:以安庆职业技术学院为研究对象,建立虚拟校园漫游系统。采集大量且全面的校园物理信息,利用三维建模软件3ds max建立实景模型、贴图、优化,后期利用Unity3D虚拟漫游平台进行漫游系统的开发,同时加强后期漫游系统的计算复杂度,最终实现虚拟校园漫游系统。
关键词:虚拟校园;虚拟漫游; Unity3D
通过问卷调查发现大部分师生渴望漫游自己的虚拟校园,但是仅仅依靠简单的校园二维平面图纸和校园各建筑模型的图片来模拟校园现实是完全不够的,必须采用三维虚拟系统才能真正意义上地模拟三维世界,给学生带来身临其境的体验。在三维场景中,第一人称感觉很重要。所谓第一人称感觉,就是学生能够在校园场景中体会到一种真实校园生活的感觉[1]。基于此,综合利用三维软件开发了安庆职业技术学院三维虚拟校园系统。一个虚拟校园漫游系统的实现,是建立在一个完善的系统设计的基础之上,功能系统架构决定了最终漫游系统的实用程度[2]。本项目选用了Unity3D游戏引擎对虚拟校园系统进一步开发。
1Unity3D软件介绍
Unity3D是跨平台的游戏开发工具,具体来说,它是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎[3]。其优点很多,诸如跨平台性好,能在iphone、mac上发布或者运行且用户不用下载客户端;脚本语言简单;兼容多种操作系统,这让很多开源的项目可以借鉴使用;开发速度快,大部分的游戏效果可以在相关网店买到,不用自己开发;价格便宜;支持各种插件,可以提高代码的重复使用率;文档齐全,官方论坛较活跃。Unity3D 主编辑窗口由多个选项卡式窗口组成, 这些窗口包括场景窗口、工程窗口、层次结构窗口和检视窗口等。
2三维模型的建立和导入
学院校园系统总体设计结构图如图1所示。
图1 虚拟校园系统结构图
为了得到更加逼真的虚拟校园效果,前期做了大量的拍摄和卫星定位工作。这些基本数据包括:学院的总平面图、水系及绿地的矢量化、地形信息、各建筑物相应的几个面的纹理、其他地物要素的物理属性。将收集到的校园图片进行整理,利用3ds max三维软件建立学院的三维模型,结合AutoCAD软件及photoshop软件调整好UV坐标完成贴图制作[4],再经过灯光渲染和场景烘焙,最终将所建模型导入到Unity3D中。通过实践发现,3ds max软件中生成的材质效果,导入到Unity3D中,都没有正常显示,而是Unity3D自动生成了导入模型材质的材质球,此时需要注意的是Unity3D不支持中文名称。因此,需要对模型及材质进行英文重命名,否则将会出现部分模型及材质的丢失。新建Unity3D工程,工程命名为AZY_Virtual_Campus(安庆职业技术学院虚拟校园的简称),并选中必要的资源包,做后期的场景美化及交互设计。在3ds max软件中将虚拟校园三维模型导出为.fbx格式,将该导出的AZY.fbx文件复制到新建的工程文件Assets目录下的新建Models文件夹中,再次打开Unity3D时则会自动加载相关的材质贴图。Unity3D中二维贴图会分别赋予Unity3D中的模型和粒子不同的效果。在Unity3D中,二维贴图是否妥当非常重要,它的主要作用是展示物体不同的显示效果,其工作原理是把所需添加的材质物体包裹起来,在三维空间中进行更真实的渲染,它支持的贴图文件类型有.tiff,.jpg,.psd,.tga,.png等,支持的贴图大小主要是长度和宽度像素均为2次幂的图片。需要注意的是,在选择不同的工作平台时,Unity3D会提供不同的压缩方法,所以在iPhone平台和其他常用的操作平台处理时是不一样的。当然,Unity3D同样支持UV Mapping,能使用材质编辑器实现基本的贴图缩放和移动[5]。此时,在project视图中把模型拖到场景中,可以看到原始的虚拟校园模型,适当调整大小,如图2所示。
图2 Unity3D导入虚拟校园三维模型
3虚拟校园漫游系统
3.1虚拟校园场景的构建
模型导入后,就要对场景进行设置,一般虚拟校园中的场景对象可以分为两类:第一类是以场景为基础,以空间上连续分布的地形景观为对象,如常见的地形;第二类是以离散的实体为基础,以单个独立存在的地物对象,如树木和建筑物等。安庆职业技术学院虚拟校园系统是结合地形和地物,在Unity3D中的地形编辑器的基础之上,通过画树等工具添加植物。利用场景模型的LOD技术,可以大大减小场景实时绘制的数据量。
Unity3D有一套非常好的地形编辑器,可以实现任何复杂的地形变换,还可以制作地形上其他一些元素,如树木、草坪和石头等。在Unity3D中,通过Terrain/Greate Terrai创建地形后,会发现属性面板出现7个按钮用于编辑地形,分别为高度工具、特定高度工具、平滑工具、贴图工具、画树工具、细节工具和设置等,合理利用这些工具可以收到意想不到的地形效果。比如,高度工具可以依据笔刷的类型及强度画出上升或下降的地形;特定的高度工具与普通高度工具不同之处在于可以设定一个最大高度,当地形达到这个高度就不能再加高;平滑工具主要用于平滑地形的过渡,通过此工具刷的地形不会有棱有角,效果更加自然[5]。在本系统中,虚拟校园远处四周的山峦都是采用这几种工具共同制作实现,校园中的秦潭湖湖面也是采用这几种工具制作而成。当然,为了提高画面的质感,就必须要添加光源效果。Unity3D中有3种光源,分别是点光源、聚光灯和平行光,场景中通过这些光效果的组合可以模拟自然界中大多数的光。如场景主光采用平行光模拟太阳光,点光源用于模拟路灯,特殊场合则采用聚光灯。同时可以采用脚本语音来控制光,从而模拟出天气昼夜的不同需求。Unity3D还提供了天空盒资源包,可以使用系统自带的图制作一个面的天空,也可以自己制作天空六个面的贴图,将其导入工程中进行天空盒的设置。
虚拟场景漫游的核心是角度问题——摄像机,漫游场景中显示的一切内容正是摄像机所照射的部分。Unity3D中的摄像机作为一个特殊的对象,它可以设置自身的位置、照射方向、照射的面积范围和照射的图层等。Unity3D根据观察模式的不同将摄像机分为两种,一种是放射型的观察角度,另一种是垂直型的观察角度。将摄像机投影方式设置为Perspective模式,摄像机的角度将呈放射性观察效果,在漫游场景中通常采用此观察模式。在制作三位地图时可以设置摄像机Orthographic为垂直型观察[7]。 在虚拟场景中实时进行光线的渲染会大大降低运行的速度,因此,在3ds max 中先设置好灯光,对场景直接采用光影烘培技术进行优化,导出贴图,可以大大提高在实时漫游时的速率,增强漫游效果。
经过精细的场景设置,虚拟校园场景雏形的系统界面如图3所示。
图3 Unity3D虚拟校园场景
3.2主菜单的设计
在工程文件夹中分别建立脚本和贴图文件夹用于放置系统脚本和所用到的贴图资源。Unity3D的脚本是整个虚拟校园漫游系统开发中的关键要素,场景对象之间任何逻辑上的判断都是通过脚本来实现[8]。Unity3D支持JavaScript、C#和Boo 3种语言来编写脚本,集成在安装包中,并且自带MonoDevelop脚本编辑器进行编辑开发[9]。在脚本文件夹中新建C#脚本语言,以此来设计Menu_AZY.cs界面,在贴图文件夹中制作相应的界面材质贴图,保存场景为Menu_AZY.unity。系统界面效果如图4所示。
图4 虚拟校园漫游系统主界面
图片背景为安庆职业技术学院大门前拍摄的照片,利用Photoshop软件进行适当处理,将其作为主界面背景纹理,左上角是菜单项,分别是三维地图、游戏设计和交互漫游的入口,用鼠标点击按钮即可进入相应的场景。
漫游系统中不可缺少的元素之一是多媒体效果。漫游系统中的多媒体效果主要包括音频和视频。音频在系统开发中占据着相当重要的地位,优秀的音乐与音效可以提升漫游系统的整体效果,引领系统参与者进入新境界。音频主要分为两种,一种为背景音乐,另一种为游戏音效。背景音乐多为较长的音乐,通常作为系统的主流音乐。游戏音效多是较短的音效,如开门的“吱呀”声,射击的“砰砰”声。在安庆职业技术学院虚拟校园漫游系统中较多的使用了音频,如附加带有学校介绍的背景音乐,各种交互事件的音效等。
3.3三维地图的实现
在主界面点击“三维地图”按钮即可进入虚拟校园三维地图界面。如图5所示。
图5 虚拟校园漫游系统三维地图界面
三维虚拟校园场景建立之后,设置摄像机的投影方式为Orthographic,调整好其位置和拍摄角度,类似效果在高空中俯瞰。参与者在观看三维地图时,可以实时通过鼠标进行交互,鼠标滚轴滚动或点击旁边的缩放条都可以进行缩放;鼠标在建筑物上停留可以显示相应的建筑物信息[10]。
学院概况栏通过点击学院地图上的建筑物,即可获得相对应的文字及语音介绍,以及一些对系部、特色专业以及精品课程等的介绍,这样可以增进参与者对学院细节的进一步了解。
主题活动列举了学院新生报到和运动会场景的基于三维地图的动画。在点击“新生报到”后,即可进入新生报到栏,“新生”只要输入个人信息,即可在三维地图上找到从进学校到入住单元宿舍的报到整个过程,极大地方便了新生,也可以添加更多合适的三维展示的主题活动,系统仍需逐步完善。
3.4虚拟交互漫游的实现
在本系统漫游模块中,主要实现了自动漫游、传统漫游、Kinect漫游和天气的模拟等4种效果。漫游场景界面如图6所示。
图6 交互漫游界面
自动漫游主要是摄像机根据预先设定的几条路径进行自主漫游。行走路径可以利用3ds max中的曲线绘制生成。安庆职业技术学院虚拟校园漫游系统主要设置了飞行浏览模式、行走模式以及按照既定路线进行摄像机跟踪的三维漫游,路线可以根据需要进行更多的后期制作[11],可以分为第一人称漫游和第三人称漫游。
本系统主要针对PC平台、Web平台和安卓平台进行了虚拟校园系统的发布。虚拟校园漫游系统完成后,需要对整个场景进行Build操作,依次将建立好的各场景保存并排序。在Platform对话框中选择相应的平台,选中PC平台,按Build按钮设置位置名称对程序进行发布。最终发布生成AZY.exe文件。
4结论
以安庆职业技术学院校园为背景,建立虚拟漫游校园系统。在实验的基础上,实现了虚拟校园系统的交互性,其中包括自主漫游以及交互式漫游的实现、二维地图与三维场景的交互、校园天气的实时模拟和校园游戏的简单实现。虚拟校园是个庞大的系统,同时随着运用的不断深入,会有更多的需求,本系统还在不断完善之中。
参考文献:
[1] 阮晴, 何宗宜. 基于3DS MAX的武汉大学校园立体图的制作[J]. 测绘通报, 2002, 12: 49-51.
[2] R. H. Creighton. Unity3D Game Development by Example[M]. Birmingham: Packt Publishing Ltd., 2010.
[3] 倪乐波,戚鹏,遇丽娜, 等. Unity3d 虚拟展示技术的研究与应用[J].数字技术与应用,2010(9): 54-55.
[4] 陶健林,王广军,章健,等.应用Converse 3D设计和实现虚拟校园[J].安庆师范学院学报(自然科学版),2013,19(1):62-65.
[5] 沈国钧. 三维虚拟校园交互系统的设计[J]. 计算机光盘软件与应用, 2012(3): 196, 200.
[6] 伍传敏, 张帅, 邱锦明. 基于Unity3D的FPS游戏设计和开发[J]. 三明学院学报, 2012, 29(2): 35-40.
[7] 干建松. 基于Uniy3D的室内漫游的关键技术研究[J]. 盐城工学院学报, 2011, 24(4): 56-59.
[8] 朱惠娟. 基于Unity3D的虚拟漫游系统[J]. 计算机系统应用, 2012, 21(10): 36-39.
[9] 熊耀. 基于Unity3D 粒子系统的三维影视特效开发研究[J]. 软件导刊, 2012, 11(11): 134-136.
[10] 陈育滨, 曾玉珠. 基于Uniy3D 平台的Web3D展示[J]. 电脑编程技巧与维护, 2012(1): 67-72.
[11] 王亚萍. 浅析unity3d创建环境地形 [J]. 计算机光盘软件与应用, 2012(19):139,175.
Roaming System of Virtual Campus Implementation Based on Unity3D
TAO Jian-lin
(Department of Electronic Information, Anqing Vocational & Technical College, Anqing,Anhui 246011, China)
Abstract:With the development of virtual reality technology, and virtual campus platform on a permanent basis in the digital campus, about most of colleges and universities have set up their own virtual campus, just the methods and process are different. As the methods and procedures are different, the function of the virtual campus platform is also different. This paper takes anqing vocational and technical college as the research object, to set up virtual campus roaming system.We first collected large and comprehensive campus physical information, using 3d modeling software——3ds Max to model, texture and optimize, then using the Unity3D to develop the virtual roaming platform development, at the same time strengthening upper of the computational complexity of roaming system, finally realize the virtual campus roaming system.
Key words:virtual campus, virtual roaming, Unity3D
文章编号:1007-4260(2016)01-0067-04
中图分类号:TP391.9
文献标识码:A
DOI:10.13757/j.cnki.cn34-1150/n.2016.01.018
作者简介:陶健林,女,安庆枞阳人,硕士,安庆职业技术学院电子信息系讲师,研究方向为三维造型与虚拟现实。E-mail: 374252980@qq.com
*收稿日期:2015-09-09
网络出版时间:2016-03-15 17:05网络出版地址:http://www.cnki.net/kcms/detail/34.1150.N.20160315.1705.018.html