基于Unity3D的中国民航大学校园虚拟漫游系统研究
2020-06-22励丹妮卢禹轩胡智宇
励丹妮 卢禹轩 胡智宇
摘要:采集中国民航大学卫星地图、设施、景观位置,使用3DsMax进行建模及贴图,将地图与建筑物模型导入至Unity3D中构建三维场景及实现虚拟漫游功能,最后发布成WebGL格式文件,部署至校园局域网服务器中,为校内师生提供一个联网即可使用的校园虚拟漫游系统。
关键词:虚拟校园;3DsMax;Unity3D
中图分类号:TP391.9 文献标识码:A 文章编号:1007-9416(2020)04-0000-00
1 背景及研究意義
1.1 虚拟漫游技术概述
二十世纪九十年代初期,虚拟漫游的概念逐渐形成,并在部分图形工作站上实现。二十一世纪初,随着微机上的图形加速卡性能的迅速提高,虚拟漫游在PC机上得以实现[1]。由于其直观、实用性强、传播性强的特点,虚拟漫游技术逐渐成为了宣传、教学等工作的重要的手段之一。
1.2 虚拟漫游发展现状
(1)美国在虚拟现实方面的实践内容最广泛,探索程度在全球处于领导性的地位,其开发水准象征着国际前沿变化趋势。硬件、后台软件、感知和用户界面是美国虚拟现实研究的主要方向,且美国不仅仅研究虚拟漫游技术,其同时开发了面向用户和市场的虚拟现实产品,在商业化的领域取得了应用成果[2] 。(2)我国在虚拟漫游技术方面起步较晚,但随着计算机技术的成熟,虚拟漫游技术也得到了快速发展。天津大学基于虚拟建模语言(VRML)开发了虚拟校园漫游系统,为使用者呈现出具有极高仿真效果的校园场景[3]。浙江大学采用预消隐和层面叠加绘制结合的方式,设计了PC端的史诗建筑环境VR系统,结合交互工具,使VR系统的真实性和实时感具备良好效果[4]。
1.3 开发虚拟校园漫游的意义
(1) 作为有效宣传手段,提升学校知名度。学生、家长,以及社会人士可以通过虚拟校园漫游的方式,足不出户、身临其境地游览校园。以此树立学校的良好形象,有利于招生、宣传工作的开展。
(2)助力学校信息化建设,为学校规划提供辅助条件。成为学校信息化平台的组成部分之一,有利于学校信息化管理,为后续校园扩建、改造等提供参考。
2 地面数据采集与地面贴图的绘制
2.1 使用第三方地图软件截取谷歌地图
制作校园虚拟漫游系统,需要知道校园内每一处设施、景观的具体位置。使用传统的方法进行测量需要大量的人力物力。而选择卫星地图作为校园地图参考,既能够得到校园地面地标的精准位置,又可以节省开支,降低成本。经调研,谷歌卫星影像数据是目前最权威、最全面、最清晰的卫星影像资料,几乎每周更新影像数据,热点区域同一位置每3-6个月会更新一次,能够为项目提供高清高质量的地图。因其支持谷歌卫星影像数据,我们选择水经注软件作为项目中地面数据采集软件。使用水经注地图软件截取的校园卫星地图,如图1所示。
2.2 使用PhotoShop软件进行建筑物位置及道路描绘
由于卫星地图中存在光影及过于复杂的路况,我们需要进一步使用PhotoShop软件对地图进行重新加工。我们以卫星地图为参考,描绘简化版地图,以便于导入Unity3D引擎中进行后续开发。经过PhotoShop软件绘制的地面贴图如图2所示。
3 基于3DsMax软件的校园建筑物建模
设计一个虚拟校园漫游系统,需要有整个校园的环境数据,在此基础上建立三维校园模型。在我们的校园之中,包含教学楼、宿舍楼、图书馆、实验室等诸多楼体,这些楼体模型是虚拟漫游系统中最关键的组成成分,需要尽量精确地复刻实体,为之后的人机交互提供可能。
模型的建立可以使用编程的手段或者使用现有的三维模型制作软件进行制作,在现如今计算机技术的不断发展的情况下,三维模型软件工具也得到了迅速发展,并成功的运用在了各大城市建设、房屋设计等项目之中。基于此,对于三维校园模型的制作,我们选用了现如今非常成熟的三维模型制作软件:3DSMax。
3.1 建模工具的介绍
3.1.1 3DSMax软件的概述
3DSMax,全称是3D studio MAX,是由美国的Autodesk公司开发的一种基于矢量的三维造型和动画设计软件,可以逼真的制作出三维模型以及三维动画等,广泛运用于广告、影师、工业设计、建筑设计、三维动画、多媒体游戏制作以及工程可视化等领域。
由于3DSMax具有非常高的使用性价比,制作成本很低,因此受到了广泛的关注,得以在世界迅速推广发展。
3.1.2 3DSMax建模方法
对于三维校园模型建模,多边形建模是最经典的传统建模方式,可分为可编辑网格与可编辑多边形建模。3DSMax中包含了数十种基本几何体,根据获得的校园楼体数据修改几何体的长宽高比例以及轮廓,再根据细节进一步修改,即可以很好建立出校园楼体的三维模型[5]。
3.1.3 3DSMax常用修改器
3DSMax的功能十分的强大,内含数十种修改器,大部分都是用于三维模型的建立。对于校园楼体的三维建模,主要运用到了以下修改器:
(1)挤出:挤出命令是所属于MAX标准类别,能够很好的凸出或压缩基本几何体。
(2)倒角:倒角命令也属于MAX标准类别,能够在压缩三维模型的过程中在边界上加入直形或圆形的倒角,在此基础上得到光滑的倒角。在现实中的楼体建筑中,倒角是最常见的形状之一。
(3)UVW展开:UVW展开是所属于MAX附加类别,是建立三维模型最重要的一个工具之一。在制作出三维模型之后,需要将模型进一步分化,根据收集到底楼体数据制作出楼体的外形贴图。经修改器修改后,进行进一步细化加工得到最终模型。
3.2 校园建筑物数据收集
建筑物数据是三维模型中最基本的数据,根据谷歌地球提供的卫星数据以及实地进行测量,得到了校园中各个楼体的基本长宽高的比例数据,为3DSMax中进行模型制作提供数据支持,同时根据对各个楼体进行拍照得到楼体的外部纹理等数据,为之后的贴图提供数据支持。
3.3 制作三维模型
首次打开3DSMax,将单位设置为毫米,并且根据谷歌地球以及实地测量得到的校园中各个建筑物的比例数据,在3DSMax中建立一个合适比例的基本几何体。
可编辑多边形是在3DSMax中制作三维建筑物模型最關键的制作工具,运用转变为可编辑多边形功能将基本几何体转化为可编辑多边形,通过修改器命令对可编辑多边形的线层级、面层级进行修改,得到与真实建筑物相似的建筑物模型,如图3所示。
3.4 设置材质贴图
3.4.1 3DSMax中模型贴图的概述
3DSMax中为制作出真实逼真的三维模型,提供了材质贴图功能,能够大大增加模型的真实感和立体效果,为三维模型赋予一些实体属性。对于建筑物表面的颜色、材质数据以及图案数据等。通过材质贴图的添加,能够很完美的展现出来。
3.4.2 运用PS软件制作贴图
在3DSMax中建立了建筑物的三维模型之后,通过添加UWV展开功能,将三维模型的实体数据建立出来,并且导入到PS软件之中。根据拍照得到的建筑物表面数据,处理得到贴于建筑物立体表面的位图。
3.5 合成模型
将PS软件得到的位图导入到3DSMax的材质编辑器之中,就可以为三维模型添加表面贴图,同时设置材质效果,提高三维模型的逼真效果。
3.6 导出3d模型
运用3DSMax制作三维模型后,还需将其导出成fbx格式的文件,并且保留PS软件得到的位图文件,重命名相同的名字,才能导入到unity 3D软件中,进行所有模型的合成,得到整个校园的虚拟三维图像。
4 基于Unity3D的校园虚拟漫游系统的实现
系统流程图如图4所示:
4.1 创建工程
打开unity Hub,点击Project的New,选择unity版本,创建3D新项目,确认创建后,unity3D将自动启动项目。项目保存关闭后,再次打开工程只需直接点击项目栏下项目的名称即可。unity3D界面主要分为四大块:层级,项目,场景和检查器。层级界面主要显示场景中各模型及其层次关系;项目界面分为可用但未载入资源包和资产(已载入资源包);场景为主要的操作区,可对模型进行预览、选中、拖拽、缩扩等操作。检查器用于编辑选中物体的属性。
4.2 资源导入
工程所需的资源分为两部分,一是unity资源商店提供的基础资源,二是导入3DsMAX自建模资源。在Unity的Asset store中下载所需的基础资源:Standard Assets和Unity Measured Materials Library,并选择Import,将其全部载入工程中。需要说明的是,在利用Unity资源商店载入的模型对象时,要使用Prefabs(预制件),Prefabs将保持模型的属性,当更新Prefabs后,其子物体也将同时更新,大大减少重复工作。工程中校园主要的地标建筑都为在3DsMAX中自建模的模型。Unity3D导入3Ds max自建模模型资源包时,必须保证该资源包命名满足英文命名条件以及模型格式为.fbx格式。在项目界面的资产中创建新文件夹,命名为Campus Model。在菜单栏处点击Assets下Creat New Assets,选择需要导入的模型及贴图。
4.3 场景构建
4.3.1 地形创建
层级界面出右击选择3D Object下的Terrain,在检查器面板查看地形属性。在地形设置分为创建相邻地形,描绘地形,绘制树,绘制细节和地形设置五个部分。首先在地形设置的Mesh Resolution中设置合适的地形大小,再在描绘地形中Set Height属性下设置高度,特别注意的是,勾选完flatten all后在点击“平整”,这使整个地形的深度保持一致。完成地形的基本设置后,切换到Paint Texture属性中点击Edit Terrain Layers下Create Layer选择地面贴图,并打开贴图,将其大小设置与地形大小相同。完成贴图后,进行地图的细节描绘。考虑到我校有湖水,需要对湖面处地形进行挖低处理。选择Raise or Lower Terrain属性,选择适合的笔刷及大小,在湖面区域按住shift加左击,按照需求降低湖面高度。
4.3.2 环境设置
(1)湖面设置:在Standard Assets目录中选中Environment文件下water(basic)的Prefabs文件,打开找到waterbasicdaytime。将其拖入场景中并调整参数,其中水面的高度应高于世界平面、低于地面。
(2)天空盒设置:在资源商店中选择天空盒资源包,导入后选择一款天空盒拖入场景即可。
4.4 第一视角创建
在Standard Assets目录中选中Characters文件夹下firstpersoncharacter的Perfabs文件,打开找到FPSCcontroller,这就是第一视角控制器,将其拖入场景中并调整合适的大小和位置即可。点击播放即可用WSAD键控制前后左右移动和空格键控制跳跃。
4.5 添加模型碰撞器
选择需要添加碰撞器的模型,在检查器面板中点击Add Component下拉选择Physics,在Physics中有各种碰撞、控制、接缝、力等物理效果属性。对于建筑物模型而言,鉴于建筑物整体以长方体为主,为其添加Box Collider(盒状碰撞器)。选择Box Collider后,设置碰撞器的属性包括位置、大小。Box Collider应将整个模型罩于盒状体内,为了良好的效果,盒状体的长、宽、高的选择与模型大小一致。对于校园边缘的阻隔,采用Mesh Collier(网状碰撞器),使第一视角运动范围局限于校园内部[6]。
4.6 中国民航大学校园虚拟漫游系统图片示例
4.6.1 中国民航大学南院校门(图5)
4.6.2 南院钟楼、南教一及南教二(图6)
5 系统的发布及校园局域网访问的实现
5.1 系统的生成与发布
5.1.1 切换系统发布平台
在导航栏中选择“文件”,列表中选择“Build Settings”,在平台中选择“WebGL”,选中“开发构建”与“自动连接探查器”,点击“切换平台”按钮。
5.1.2 生成与发布
切换平台完成后,点击“生成”按钮,在弹出窗口中选择生成文件所在目录,即可生成WebGL的校园虚拟漫游系统。
5.2 校园虚拟漫游系统校园局域网运行环境
5.2.1 运行平台
为保证校园虚拟漫游系统可在校园局域网范围内7*24小时访问,我们选择使用开源免费且稳定性较好的CentOS Linux系统。CentOS是Linux发行版之一,它来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。因为其开源稳定的特点,被市面上众多企业用作服务器系统。
5.2.2 校园局域网环境
中国民航大学校园网采用IP自动获取,即当校内师生电脑连接至校园网网络时会自动分配到校园局域网IP地址,并且由于所有IP均在同一局域网下,我们只需将校园虚拟漫游系统部署到已连接到校园局域网的电脑中,即可对全校师生提供校园虚拟漫游服务,满足项目的校园局域网访问要求。
6 结语
本文以3DSMAX、Unity3D两软件为主要工具,结合photoshop等基本软件,构建形成了中国民航大学的虚拟漫游软件,并在校园局域网运行。软件具有良好的交互性,便捷直观,为校内师生提供方便,为学校规划建设与宣传工作提供助力。
参考文献
[1] 陈华斌,王彤.虚拟建筑环境实时漫游系统的设计和实现[J].西南交通大学学报,2001,36(1):53-56.
[2] 陶健林.基于Unity3D的安庆职业技术学院虚拟校园设计[D].西安:西安科技大学,2004.
[3] Rodolfo.VR的国内研究现状及发展趋势[EB/OL](2016-6-7)[2020-03-02].http://www.cnblogs.com/Rodolfo/p/5567714.html.
[4] 魏勇.基于VRML的虛拟校园交互式漫游系统的设计与实现[J].科技信息,2011(20):624.
[5] 周正,司占军,贺瑞玲.3Dmax在虚拟校园模型制作中的设计与应用[J].电脑知识与技术,2019,15(33):245-246+265.
[6] Unity Technologies.Unity5.X从入门到精通[M].北京:中国铁道出版社,2016.
收稿日期:2020-03-20
基金项目:大学生创新创业训练计划项目资助,项目编号:201910059143。
作者简介:励丹妮(1998—),女,浙江宁波人,本科,研究方向:Unity3D游戏引擎,虚拟现实交互开发和虚拟漫游系统场景设计。
Research on Virtual Campus Walkthrough System of Civil Aviation University of China Based on Unity3D
LI Dan-ni ,LU Yu-xuan ,HU Zhi-yu
(Civil Aviation University of China,Tianjin 300300)
Abstract:We collected the positions of satellite maps, facilities, and landscapes of the Civil Aviation University of China, and used 3DsMax for modeling and mapping. We imported maps and building models into Unity3D to build 3D scenes and implement the virtual walkthrough functions.Finally, we published it in a WebGL format file and deployed it to the campus LAN server. It provides a network-ready virtual campus walkthrough system for teachers and students in school.
Keywords:Virtual campus;3DsMax;Unity3D