APP下载

基于3DS MAX和Unity3D校园虚拟漫游系统的研究

2015-04-25王世发慈为涛司春景姚江河

塔里木大学学报 2015年2期
关键词:塔里木漫游物体

李 旭 王世发 慈为涛 司春景 姚江河

(塔里木大学信息工程学院,新疆 阿拉尔 843300)



基于3DS MAX和Unity3D校园虚拟漫游系统的研究

李 旭 王世发 慈为涛 司春景 姚江河*

(塔里木大学信息工程学院,新疆 阿拉尔 843300)

本文以塔里木大学数字虚拟漫游的研究为主要内容,利用3DS MAX 和 Unity3D 引擎等工具,设计完成塔里木大学虚拟漫游系统。系统以第三人称视角进行虚拟校园漫游,使用者可直观自控角色的一举一动,増加系统交互性。此系统的建设可为塔里木大学提升文化内涵起到宣传作用;为校园规划提供参考资料和依据;促进校园管理数字化,有利于实现大学远程教育,加快校园数字化建设。

塔里木大学; 数字; 虚拟漫游系统

计算机科学研究的一个重要方向就是虚拟现实技术,“数字校园”引入虚拟现实技术,可以为学校的宣传和游览提供一种新的方式和方法。传统的虚拟现实技术,如基于静态图像处理的初级虚拟实境技术 QuickTime VR 和虚拟现实建模语言 VRML,虽然精确性较高,但交互性差,漫游速度因其本性影响,系统结构过于繁冗,并且都是以第一人称的视角来设计的。校园虚拟漫游系统的研究,有利于校园形象的宣传与展示,并且对校园的进一步数字化建设和远景规划提供真实可靠的可视化平台。本文研究以校园虚拟漫游系统为研究对象,系统采用三维立体的方式以增强立体感,而且还可以以第三人称视角漫游整个校园,借助3DS MAX三维建模软件和Unity3D引擎开发一款校园虚拟漫游系统,可以使用户对学校对学校的了解有更直观、更具体。

1 系统设计思想

虚拟漫游系统开发的必要条件是要具有软件工程的思想,从软件需求分析入手,各个模块功能的设计与实现。首先使用AutoCAD软件绘制学校的平面图,利用相机拍摄相关建筑物图片,对测量不准确的建筑物进行补测, 再利用3DS MAX三维建模软件对校园中建筑物进行建模, 然后将建模文件导入到Unity引擎中,第二步进行模型的贴图,添加灯光效果。构建场景完成后再进行系统交互设计, 该交互设计包括漫游行走的交互、界面菜单的交互,该漫游系统完成后进行性能测试,生成可执行文件和网络文件,此文件更具有精确性、真实性和无限的可操作性。整个开发流程如图1所示。

图1 虚拟校园系统开发流程

2 设计中的关键技术

2.1 Unity3D

Unity3D是一个多平台的专业3D游戏开发引擎,它具有出色的高级渲染效果和用户定制支持,具有高度优化的图形渲染管道,支持DirectX和OpenGL[1]。其内置的NVIDIA、PhysX 物理引擎能够实现逼真的互动,并提供了支持柔和阴影与烘焙高度完善的光影渲染系统。而且Unity 3D具有方便的可视化创作环境,使用常见的C#、JavaScript和Boo编程语言作为脚本语言,并且针对Unity引擎,还有很多出色的插件供开发者使用,如PlayMaker、NGUI等,使用这些插件可以使开发者多快好省地完成一些功能[2]。

2.2 场景建模技术

虚拟场景中漫游系统的核心是三维模型,其好坏将影响系统漫游效果以及场景的逼真程度[3]。在做好数据采集、建筑测量等前期准备后,就要进行校园物体的建模工作了。建模是根据前期的造型设计,通过3D MAX软件绘制出校园物体的三维模型。需要建模的物体有很多,而且模型的创建也要经过建模、材质和贴图、灯光、渲染等一系列步骤,因此场景建模是一个细致而繁重的过程。

2.3 漫游交互技术

漫游是虚拟校园的关键, 交互是实现漫游的方式[4]。Unity引擎中的交互功能是通过对游戏物体编写控制脚本来实现的。Unity同时支持JavaScript、C#和Boo三种脚本语言,而且Unity引擎还支持在同一个项目中同时使用多种脚本语言来进行脚本的编写[5]。

2.4 碰撞检测技术

碰撞检测技术是模拟真实环境中在遇到障碍物时物体发生的本能反应, 很多时候,当我们的主角与其他GameObject(游戏物体)发生碰撞时,我们需要做一些特殊的事情,比如遇到墙壁时, 不能前行, 避免角色在场景中出现穿墙而入等一些离奇的行为。在Unity3d中,能检测碰撞发生的方式有两种,一种是利用碰撞器,另一种则是利用触发器。本文研究利用碰撞器进行碰撞检测[6]。

本研究的校园虚拟漫游系统是以塔里木大学校园为设计目标的。校园整体呈长方形,南北窄,东西长。教学区由重点实验室、教学楼和图书馆等组成;办公区由行政楼和后勤保安等部门组成;生活娱乐区由小市场、食堂、学生宿舍、澡堂、操场等组成;以及由道路、花草、树木、路灯等小品构成的辅助设施。

3 校园虚拟漫游系统详细设计

3.1 数据采集

为了将校园环境中的建筑物、道路、花草树木等对象描述的更加生动准确,以达到逼真的仿真效果。首先根据地图及影像图绘制出校园的CAD平面图,平面图对校园中空间的构成十分重要。然后对花草树木、建筑物等用数码相机拍摄清晰照片。许多模型的纹理主要来自数码照片,拍摄的照片整合了抠像、校色、摄像机贴图、光栅与矢量绘画、基于样条的变形、运动模糊、景深以及支持立体视效,在图像处理软件中进行杂质去除、大小调整、对比度、亮度和锐化等效果处理,改进渲染传递并把它们融合到实拍镜头中,制作成模型的材质贴图,存放在纹理库中。

3.2 建模及渲染输出

本文研究建模主要是二维图形制作成三维图形,主要是将图形的轮廓通过线、多边形等制作出来,然后通过对图形的挤压、车削、放样等方法,制作出相应的模型。首先考虑制作模型的轮廓,并对其结构和形态进行规划,根据其结构特征,分为规则物体和不规则物体,一般规则物体使用堆砌建模法,而不规则物体使用细分建模法,最后根据部分网格的拓扑结构,制作相应的模型。模型的创建大致要经过建模、材质和贴图、灯光等一系列步骤。

在整个三维创作中渲染是一项重要的工作。在前面所制作的材质与贴图、环境反射和灯光的作用等效果,在经过渲染之后才能更好地呈现出来。在3DS MAX中主要包括快速渲染、实时渲染和最终渲染等类型。

本文研究在渲染时运用到了最终渲染,此插件的主要用途是将灯光和材质能够更好的渲染出来,比3DS MAX自身所带的渲染器要更加的精细。

3.3 模型的导入

首先进行模型导入,然后进行编辑组合,其具体步骤如下:

1.首先运行Unity 3D,第二步是工程项目的建立。Layers选择合适的窗口模式进行设计。

2.Create Terrain菜单通过创建地形以及编辑地形;Directtion Light通过创建灯光,编辑其属性,设置相应效果;Seting Renter通过设置天空盒,为天空盒添加需要的材质贴图。

3.通过3D MAX导出成.fbx格式的各类建筑物模型文件,从项目中用鼠标拖动到场景中进行设置和位置摆放。

4.重新指定模型中丢失的材质和贴图。

5.对地面、天空、楼梯、墙壁等场景添加Physics菜单下的Box Collider或者Mesh Collider碰撞组件,在漫游时避免出现穿墙的错误效果。

6.光线进行调节,达到所需的照度和灯光色彩效果,体现空间层次感。

3.4 角色漫游的设计与实现

角色漫游的设计主要包括对角色的控制和对摄像机的控制两部分内容,角色是漫游系统的主角,而摄像机就像角色的眼睛一样。在本系统中角色漫游是以第三人称视角来实现的,使用者可以直观的观察到自己控制的角色人物的一举一动,使系统的交互性更加显著。为了完成通过控制角色移动来实现场景漫游的功能,摄像机必须紧紧跟随角色移动。

实现对角色控制的基本原理是,首先在场景中导入一个带有动画的游戏角色,然后通过编写脚本来控制角色。例如用户按下W、A、S、D按键后,首先通过脚本控制角色播放走路动画,同时控制角色的坐标位置在相应方向上进行移动,这样就实现了角色在场景中走动的效果,再通过脚本控制摄像机跟随角色移动,并与角色保持一定的相对距离,就实现了简单的场景漫游功能。

3.5 GUI界面的设计和实现

在本漫游系统中,GUI 界面是用户与系统之间的桥梁,通过GUI界面的引导,用户可以轻松的上手本系统,快速熟悉系统的操作方法,并且用户还可以通过自己的选择控制角色进入不同的场景, 实现相应的漫游功能。

在本系统的GUI界面中,共创建了三个菜单项,分别为Select Scene(场景选择)菜单、How To Use(使用说明)菜单和Visit Tarim(访问校网)菜单。

本系统中GUI界面的创建,是通过先创建相应的预设,然后在运行时对预设进行实例化来实现的。

在创建预设时,首先在工程视图中,右击:Create->Prefab。此时Prefab为灰色,然后从Hierarchy窗口中将某一游戏物体拖到该Prefab上,此时可以看到Hierarchy窗口中该物体变成了蓝色,至此Prefab就创建完成了。

在本系统GUI界面设计过程中,首先创建一个空的游戏物体,然后将编好的创建GUI界面的脚本添加到该物体上,最后将该物体创建成预设,在系统运行时,会创建一个该预设的实例,这样GUI界面就显示出来了。

4 实例验证

以塔里木大学校园为模型,借助3DS MAX 三维建模软件,在Unity3D上实现虚拟校园漫游系统。如图2-图3所示,浏览者可以对场景进行全方位浏览,而且也可以按预定路径自动漫游,还可以选择不同视角进行浏览。该系统设计与实现方法具有很好的应用价值。

图2 GUI界面的效果图

图3 综合楼的效果图

5 结论

总体来说,在本文设计中首先通过3DS MAX构建校园中各物体的模型,利用3DS MAX在建模、材质和贴图、灯光、渲染等方面的功能。然后通过Unity3D进行系统的交互设计,进而运用Unity平台进行虚拟漫游系统设计的流程和相关技术,并且通过对Unity脚本的编写,实现了碰撞检测、虚拟漫游等功能。塔里木大学虚拟漫游系统是数字塔里木大学建设的基础,它是一个三维可视化的,有声有色的仿真校园景观,该系统的研究和实现对后续数字校园的建设有重要的现实意义。

[1] 李旭,姚江河,司春景,等. 基于3DS MAX的数字西域文化博物馆的设计与实现[J]. 塔里木大学学报,2012(03):60-63.

[2] 邓见光,袁华强. 基于游戏引擎的三维虚拟漫游系统实现[J]. 计算机应用与软件,2012(03):122-124.

[3] 宋平,杨涛. 大学校园虚拟漫游系统集成关键技术的探索与实践——以沈阳农业大学校园虚拟漫游系统为例[J]. 沈阳农业大学学报(社会科学版),2012(02):227-230.

[4] 祝敏娇. 基于Unity3D的虚拟漫游技术的研究[J]. 硅谷,2012(20):77-102.

[5] 张荣华.几何建模技术在虚拟校园漫游系统开发中的应用[J]. 计算机工程与设计,2008(23):6146-6151.

[6] 白学明,赵刚. 三维校园虚拟漫游系统的设计与实现[J]. 泰山学院学报,2011(06):50-54.

The Research of Based on 3DS MAX and Unity3D Virtual Reality System

Li Xu Wang Shifa Ci Weitao Si Chunjing Yao Jianghe*

(College of Information Engineering, Tarim University, Alar, Xinjiang 843300)

This paper studies the digital Tarim University Virtual Tour system. By 3DS MAX and Unity3D engine, visual identity Virtual Tour system of the school was designed completely. In third-person perspective virtual campus roaming system design, the user can intuitively controlled character's every move, strengthening the system interactivity. Construction of this system can play an advocacy role for the Tarim University to create a good image, enhance cultural taste, References the basis can be provided for the construction of the campus planning, promoted the management and unified of the campus, conducive to university education, accelerate the construction of digital campus.

digital; Tarim University; campus roaming

2014-10-16

塔里木大学大学生创新创业训练计划项目(2013107570025)。

李旭(1983-),男,讲师,硕士,主要研究方向为虚拟现实、农业信息系统等。 E-mail:lixu2866@126.com

E-mail:lixu2866@126.com

1009-0568(2015)02-0090-04

TP391.9

A

10.3969/j.issn.1009-0568.2015.02.017

猜你喜欢

塔里木漫游物体
深刻理解物体的平衡
塔里木库车山前深井窄间隙小尾管固井技术
我们是怎样看到物体的
霹雳漫游堂
NASA漫游记
塔里木
为什么同一物体在世界各地重量不一样?
大学生旅游行为调查分析——以塔里木大学为例
双级固井技术在塔里木哈拉哈塘区块的应用
悬浮的鸡蛋