龙源期刊网 http://www.qikan.com.cn
基于3ds Max与Unity 3D的三维虚拟校园系统的设计与实现
作者:喻臻钰 杨昆
来源:《电脑知识与技术》2016年第07期
摘要:虚拟校园是虚拟现实技术的一个具体应用。三维虚拟校园漫游系统可给予体验者身临其境的真实感,从而模拟现实环境,为使用者提供便利,也为学校展示自身风采提供了有效途径。本设计基于虚拟现实技术,使用3ds Max建模,依靠Unity 3D搭建场景,最终实现云南师范大学主校区的三维虚拟校园系统,对本校的宣传有一定作用。 关键词:3ds Max;Unity 3D;虚拟现实;虚拟校园;三维建模
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)07-0218-04
Based on the 3ds Max and Unity 3D Design and Implementation of a Three-dimensional Virtual Campus System
YU Zhen-yu1,2, YANG Kun1,2
(1. School of Information Science and Technology, Yunnan Normal University, Kunming 650500, China; 2. GIS Technology Engineering Research Centre for West-China Resources and Environment of Educational Ministry, Kunming 650500, China)
Abstract: Virtual Tour technology is virtual reality technology branch, virtual campus is a specific application of this technology. Three-dimensional virtual campus roaming system can give those who experience an immersive realism to simulate realistic environments, provide users with convenience, but also for schools to demonstrate their presence provides an effective method. The design is based on virtual reality technology, the use of 3ds Max modeling, rely Unity 3D structures scene, and ultimately a three-dimensional virtual campus system of Yunnan Normal University main campus.
Key words: 3ds Max; Unity 3d;virtual reality; virtual campus; three-dimensional modeling 1 概述
在信息化技术不断发展的今天,众多领域均通过计算机应用为用户的使用提供便捷。虚拟现实技术是众多计算机应用中被使用最为广泛的技术之一,它已逐渐从幕后走到台前,从实验室的研究项目走向实际应用,遍及各个领域,虚拟现实技术已成为计算机应用行业的研究重点
龙源期刊网 http://www.qikan.com.cn
[1]。随着“数字地球”的提出,将虚拟现实技术应用到日常生活势在必行。其中,虚拟校园是“数字地球”建立于学习与生活中较为直观的体现,它运用图像处理技术和计算机图形学相结合的三维可视化图形图像并在屏幕上显示,实现了人机交互的功能,为师生、家长提供了极大的方便,具有宣传学校、提高知名度的作用[2]。 2虚拟现实技术的国内外研究动态 2. 1国外研究现状
美国是虚拟现实技术的发源地[3],目前其研究水平遥遥领先于世界各国。美国圣何塞州立大学已在虚拟世界平台“第二人生”( 世界上最受青睐的三维虚拟平台之一)上建立了虚拟校园[4]。英国、日本、德国等国家对于虚拟现实技术的研究也处于领先地位[5]。德国某大学为使学生便于查询和研究,联合研制出基于三维GIS的城市模拟系统。日本发达的动漫,联合先进的虚拟现实技术,于2014年12月设立全球首所“虚拟学校” [6],可让受心理问题困扰的学生在家中化身虚拟人物,利用手机摇杆自由学习和交流。 2. 2国内研究现状
我国的虚拟现实技术起步于20世纪80年代,最早在高校中研究,与一些发达国家还有一定差距。近年,我国已将虚拟现实技术列为国家重点研究项目[7],许多重点院校及实验室也加入其中,清华大学、厦门大学、浙江大学等学校相继推出了三维虚拟校园系统。北京林业大学、武汉生物工程学院等院校通过实现虚拟校园的形式有:单纯图片式, 360度全景拍摄、交互式三维仿真[8]。大多数已实现的虚拟校园是采用平面地图和部分实景拍摄整合而成,使用者对这样的系统比较被动,场景不真实,过于机械化,难于实现智能化的人机交互。若采用360度全景拍摄存在的问题是场景并非连续,依然无法克服缺乏互动感的缺陷。然而通过制作三维场景模拟校园并实现漫游,这样无疑虚拟再现了真实场景,便于体验者参观校园,欣赏美景。
3 虚拟现实技术相关软件
传统的人机交互往往停留在二维空间上,虽可实现功能,但用户感受性差,且与真实环境出入较大,难以实现较好的人机交互和智能化。此系统主要使用的软件有3ds Max、Unity 3D和Photoshop等,开发环境如表1所示。
3ds Max是主要的三维建模工具,在三维虚拟校园中,整体场景和每个建筑的效果直接影响用户使用的逼真度。Unity 3D是一种基于开源.net,即Mono.net的组件化的游戏引擎,具有开发效率高、运行稳定、用户界面良好等特点[9],其内置的API函数与开发工具Visual Studio结合能够高效地开发出仿真系统。 4系统总体框架设计
龙源期刊网 http://www.qikan.com.cn
4.1技术路线
通过校园地理信息的数据采集与整理,使用三维建模软件进行精细建模,进而对三维模型进行处理,再根据实景规划将模型导入系统,并生成虚拟校园漫游功能。在系统中加入光照效果、玻璃镜面的反射效果、碰撞测试、飞行鸟瞰等效果,并附加建筑物属性[10],按要求设计漫游系统中各种三维物体能够进行方便的操作,再对漫游方式进行设定和规划[11]。在Unity 3D中用C#设计用户交互界面,基于SQL Server数据库构建虚拟校园系统数据库,再连接数字校园系统数据库实现数据共享 [12]。具体技术路线如图1所示: 4.2系统的总体设计
为利于系统的开发、维护、部署和扩展,本设计基于“分而治之”的思想采用三层架构模式(数据访问层、表示层、业务逻辑层)开发-。其中,数据访问层采用SQL Server2008实现查询功能。表示层为界面外观设计,效果如图2所示。业务逻辑层则为系统的逻辑建构,系统健壮性是决定系统成败的关键,高内聚、低耦合为最终目标,由此对于输入、输出功能的有效性验证工作是必不可少的[10]。 4.3 功能模块设计
无论做怎样充分的准备,最终目标都是要使系统“活”起来,这便需要加入控制脚本实现相应功能[11]。 4.3.1查询功能
查询功能的实现有两种:使用Unity 3D内置的小型数据存储PlayerPrefs;使用外部数据库。对于数据访问需求不大的情况建议使用PlayerPrefs,它通常用于手机客户端的数据存储访问。而本设计采用的是连接SQL Server 2008,其实现如图3所示。
实现查询功能是将数据库查询的结果通过函数返回值的形式传到脚本变量,然后通过变量的调用显示到屏幕。这里需用到Find()方法,在使用中要注意:Find()方法是通过遍历本场景中所有Game Object而实现查找的,由于Update()与Awake()这类方法每帧都要执行,如果Find()方法大量使用在这两个函数中,则会导致运行卡顿,极大占用系统资源,且存在很大崩溃的风险。 4.3.2路径查询功能
路径查询功能的实现有多种方法,例如NavMesh、A*、GameObject、发送射线等。本设计采用的便是NavMesh与发送射线的方法。使用Unity 3D的NavMesh进行路径查询,设置相对繁杂,但脚本调用相对容易,且路径查询过程中不易出现主角与建筑碰撞导致无法行走的情况。先将场景中能够路径查询的区域用NavMesh烘焙,再用相同方法烘焙不可查询的区域