虚拟校园导览APP设计及关键技术

2020-05-30 08:07:12张正柱
莆田学院学报 2020年2期
关键词:材质校园用户

张正柱

(阳光学院 设计学院,福建 福州 350015)

0 引言

现今的大学校园不仅是学生学习和生活的场所,还成了参观旅游的景点。可是校园占地太大,许多区域都是分散的,有些学校的校区更是分散,这给很多参观者带来很大不便[1]。阳光学院坐落在福州马尾卧龙山上,目前学院对的外宣传仍然只是依托传统的宣传媒介,学生想了解校园的真实环境,只能通过校园门户网站上的校园风光照片和文字介绍等形式,这些形式只能提供一些变动式的信息浏览,无法进行更多的互动,这些传统的宣传媒介难以满足21世纪青年的需求。随着虚拟现实(VR)技术的飞速发展,国内有越来越多的高校开发并使用了具有自己学校特色的虚拟校园导览系统[2],但主要都是基于PC端实现,由于受到时间和地域的限制,无法为用户提供随时随地的漫游体验。而且由于设备、地点以及网速的限制导致虚拟校园系统的使用率不高,用户体验不好[3]。基于手机APP的虚拟校园导览系统大大方便用户摆脱时间和空间的限制,获得良好的导览体验。

1 系统功能模块

本设计主要采用Maya建模软件完成校园三维建模,使用.NET技术搭建校园媒体资源管理系统,基于Unity软件完成VR虚拟校园导览APP设计。系统总体架构如图1所示。

图1 系统总体架构图

(1)校园媒体资源管理模块主要为了管理APP中所需展示的校园媒体资源,通过该模块,管理员可以在WEB端直接完成媒体资源的上传、更新和分类管理等功能。

(2)校园主体建筑三维模型的构建主要包括绿色植被模型和建筑物模型。本系统场景中的建筑物模型基于建筑CAD图构建,通过对校园实景进行照片采集,并经过PhotoShop软件修正处理得到纹理、贴图数据。

(3)虚拟校园导览APP设计模块使用Unity创建校园地形,将所设计的三维植被模型和建筑模型导入到场景中,调整模型大小以适应创建逼真的校园虚拟场景。结合Google VR技术实现虚拟校园导览、建筑查询、即时消息推送和用户社交等功能的交互界面。

2 虚拟校园导览APP设计

2.1 三维校园建筑模型构建

虚拟校园导览系统的设计要求能真实还原三维校园场景,在数据的收集和调研过程最为重要的是需要对校园各类建筑进行拍照或拍摄视频,目的是为了能够让虚拟导览系统更具逼真感。为了获取比较精准的阳光学院校园建筑数据和校园场景数据,首先根据校园建筑的平面图和CAD图纸,获取校园建筑相关数据;其次通过单反相机和无人机摄影机对阳光学院整体的校园环境及建筑三视图进行拍摄,从而获取完整校园建筑和校园环境图像视频材料数据。收集到的数据越详细越能够设计更加真实的三维校园模型,也为后期模型的材质贴图、Unity3D设计校园地形系统提供数据材料支持,增加虚拟校园导览系统的真实感和视觉效果。校园相关素材如图2所示。

图2 校园相关素材

2.2 校园地形制作及碰撞器设置

校园的地形制作需要考虑地形的大小、海拔高度、相对高度差、道路的宽窄和校园植被等多种因素。阳光学院的地形制作是选取百度地图图片,通过使用Unity自带的地形编辑器进行绘制,使用Paint Texture通过加载导入的材质贴图,可选择地形的主要土壤类型,使用水泥贴图,能够在地形上绘制出阳光学院的道路以及部分防山体滑坡的护坡。由于阳光学院处于半山腰上,所以地形与平坦的平地不同,相对高度变化较大,需要使用斜坡连接,相对于其他位于平地的校园更为复杂。

虚拟环境如果没有经过碰撞检测就会出现有违实际的事件,模型与模型之间重叠乃至互相穿过对方,从而导致系统缺乏运动的物理真实性[4]。因此,在校园地形中还需要设置对应的碰撞器,当用户进行校园导览时,能有更真实的体验。校园地形如图3所示。

图3 校园地形图

2.3 虚拟校园场景构建

虚拟校园导览系统主要包含两个场景,一个是室内展示厅场景,一个是校园主场景。室内展示厅场景主要使用Unity自带的游戏对象进行搭建,配合粒子系统和灯光系统实现学校概况、校园风光和校园建筑等的展示,用户可通过校园手绘地图定位至校园主场景进行校园导览。校园主场景的搭建包括地形的设计,Maya建筑模型导入和碰撞器设置。地形设计好之后,将Maya中构建的学校建筑模型导出成.fbx格式文件,导入Unity中并制作成预设体。系统根据用户的位置动态加载对应模型。场景如图4所示。

2.4 虚拟校园导览实现

虚拟校园导览系统采用Unity工具结合Google VR开发组件和Daydream VR平台进行开发。系统VR视觉效果的实现是通过使用Google VR提供的GvrViewerMain预设体替换默认摄像机,开启VR Mode Enabled以模拟左右眼的视差,达到VR视觉效果。通过GvrControllerPointer预设体实现控制器手柄的交互,并实现建筑查询和校园导览等功能。最后,通过Unity引擎的跨平台发布功能,设置好Java SDK和Android SDK后将系统导出为安卓应用程序包(APK)[5]。

图4 室内展示厅及校园主场景图

3 关键技术分析

3.1 Maya模型制作关键技术

在使用Maya进行模型制作时,考虑到资源的最优化,使用多边形建模法,以提高导览系统的性能,也降低在设计制作过程中设备损耗,从而提高电脑运行速度。因此,在建模过程中必须要有整体观念,不要盲目追求真实和无限精致的模型[6]。

在创建模型的过程中应当注意不要让模型产生无用的点、无用的线和无用的面。场景模型的优化可以根据各自的需求进行细节上优化,可利用Maya软件所提供功能,通过点与点焊接、删掉多余的点线和模型的合并,以此来更加精细地优化模型。同时为了防止出现穿帮,需要在设计时考虑模型正反面并及时进行反转修正。

3.2 三维模型的材质与贴图制作

在模型搭建完毕之后,需给各个建筑和景观加上合适的材质和应有的贴图,让三维模型看起来更接近现实物体。需要先将模型导出后缀名为obj格式的文件,选择比较复杂和点线面比较多的模型进行模型的导出。经由Unfold3d软件对三维模型进行展UV,通过UV图来制作贴图,或自己通过PS来绘制一张模型的贴图。贴图和材质是三维模型的重要部分,模型最终展示出的效果如何,由贴图和材质决定。最终将完成展UV的模型再次采用Maya或3ds Max软件来进行模型材质贴图。

校园部分建筑模型图如图5所示。

图5 校园部分建筑模型图

3.3 虚拟场景加载优化

虚拟校园导览系统需要创建校园实景地图和三维建筑模型,为了营造逼真的虚拟环境,模型创建比较精细。而要实现基于Unity3D的虚拟校园导览APP,其关键就在于虚拟校园场景如何能在手机上运行,并且不会出现崩溃和卡顿的现象。考虑到场景中的建模模型损耗资源问题,本系统在渲染模式上采用遮挡剔除技术[7],同时在模型加载时采用动态资源加载方式,先将所有建筑的信息存储在集合中,当角色导览时计算模型与角色的距离,然后动态决定创建或销毁建筑模型资源,以解决系统卡顿问题。具体代码如下:

3.4 三维地图的Dijkstra寻路算法实现

虚拟校园导览过程中需要为用户提供到达目的地的最优路线,解决最短路径问题有很多方法,本课题采用经典的最短路径算法——Dijkstra算法[8]。考虑到校园的三维特性,首先为校园路线中的所有拐点保存其名称及三维位置信息,拐点集合即为算法所需的顶点集合;其次根据校园实际情况建立对应的顶点间路径图,顶点间的距离自动根据顶点位置进行计算。用户通过手柄操作进行虚拟校园导览,当用户凝视目标建筑或单击手柄时通过Dijkstra算法获取最优的路径,并利用Unity的导航功能实现自动寻路。具体寻路导览流程如图6所示。

4结语

本系统利用Maya建模技术完成校园三维建筑模型设计,采用Unity3D进行虚拟导览场景设计,结合Google的Daydream平台实现VR导览功能,达到沉浸式的场景导览体验。虚拟校园导览APP使得高校不再局限于图文形式的对外宣传方式,可以让新生和参观者随时导览校园,提高学校知名度。本系统的模型及其材质与贴图制作、场景优化和寻路技术等可以很好地应用于其他类似导览系统中,有着广泛的应用前景和推广价值。

图6 寻路导览流程图

猜你喜欢
材质校园用户
衣服材质大揭秘
校园的早晨
琴童(2017年3期)2017-04-05 14:49:04
春满校园
关注用户
商用汽车(2016年11期)2016-12-19 01:20:16
关注用户
商用汽车(2016年6期)2016-06-29 09:18:54
关注用户
商用汽车(2016年4期)2016-05-09 01:23:12
外套之材质对比战
Coco薇(2015年10期)2015-10-19 12:17:50
针织衫之材质对比战
Coco薇(2015年10期)2015-10-19 12:17:14
10KV配变绕组材质鉴别初探
开心校园