姜 锐,陈默祺
(1.黄河水利职业技术学院,河南 开封 475004;2.河南大学第一附属医院,河南 开封 475001)
黄河水院三维数字校园漫游系统方案研究
姜 锐1,陈默祺2
(1.黄河水利职业技术学院,河南 开封 475004;2.河南大学第一附属医院,河南 开封 475001)
以黄河水院校园为研究对象,研究了各类三维数字校园解决方案的优缺点,创造性地提出基于3DS MAX建模和Untiy 3D游戏开发平台建立漫游系统的设想。通过分析实施过程,建立漫游系统,编制了黄河水院三维数字校园漫游系统运行方案。
黄河水院;三维数字校园;漫游系统;方案设计
数字化校园是利用计算机技术、网络技术、通讯技术以及科学规范的管理对校园内与教学、科研、管理和生活服务有关的所有信息资源进行整合、集成和全面的数字化,以构成统一的用户管理、统一的资源管理和统一的权限控制;通过组织和业务流程再造,推动学校进行制度创新、管理创新,最终实现教育信息化、决策科学化和管理规范化[1]。
“数字校园”的基础主要包括信息、数据和人3项。信息基础设施要有高速宽带网络和支撑的计算机服务系统与网络交换系统。也就是说“数字校园”的第一项任务是解决“修路”的问题。但是。光有路不行,还必须有数据,特别是“空间数据”。所以,衡量“数字校园”的指标除宽带网里程以外,还有数据量的大小。数据量包括各类基础空间数据的数据量外,学生全面素质教育数据库、教师教学资源库。建立在此基础上的数据挖掘是数字校园的核心特点。“数字校园”第三项基础是人,即管理“数字校园”和使用“数字校园”的人。与管理 “现实校园”相对应,管理“数字校园”要逐渐建立起相应的机构和规范,要不断对网络系统和数据进行建设、更新、维护和升级,并协调用户的访问[2]。
在众多服务中,虚拟漫游系统可以作为信息查询、管理校园等系统的基础,也可作为地图信息查询、实时导航的应用独立存在,是具有实际应用价值的。同时,这一项目的研究也带动了虚拟现实技术应用的研究。
黄河水利职业技术学院(简称“黄河水院”)是全国28所首批示范建设高职院校,于2005年前后,委托校外公司,投入大量经费制作的以360°全景照片为基本技术,利用漫游大师制作了数字化校园虚拟漫游系统。但是,因为漫游大师本身是基于360°全景照片的方式来进行虚拟漫游展示的,归根结底是二维图片经过软件模拟的柱体模式或立方体模式显示的“假”三维,在虚拟漫游的快速移动、旋转和切换时有变形、模糊等瑕疵。所以,我们决定选择一条真实的三维模型来完成三维数字校园漫游系统的技术路线。
1.1 研究思路
在三维数字校园漫游系统的解决方案中,常见的三维数字校园有基于VRML、OpenGL、X3D、DirectX等各种技术来实现漫游的[3~5]。 纵观基于VRML、OpenGL、X3D、DirectX等技术的解决方案,往往是利用3DS MAX制作出模型,然后,在软件开发环境中,通过编程来实现交互与漫游。例如,基于OpenGL的就是在3DS MAX中先完成模型制作,然后结合Visual Studio编程环境,在OpenGL中进行绘制交互控制,形成真实的三维效果。但是,由于该方案的后期实现对操作者的编程技术要求高,又不是所见即所得的开发环境,开发成本也较高,不是理想的方案。
本文提出的解决方案的思路来自于目前流行的三维游戏。笔者在玩三维游戏的时候,发现不少大型三维游戏场景制作的非常逼真,运行也非常流畅,试想如果可以把三维游戏里设定的遭遇战斗情景去掉,把游戏里的虚拟环境换成现实中真实存在的校园实景,那就实现了高效平滑的数字校园漫游。
1.2 方案的拟定
沿着这样一条线路,笔者通过查阅网上的文献资料发现,很多游戏,如,益智游戏《Bad piggies(捣蛋猪)》、射击游戏《Ballistic》(狂怒射击)、战斗游戏《Blade slinger》刀锋斯林格、《Ravens word》(掠夺之剑)、 第三人称角色扮演游戏 《Legends of Aethereus》(伊瑟雷斯传奇)、《City of Steam》(蒸汽之城)等都出自一个制作平台—Untiy 3D游戏开放平台。
Unity3D是由Unity Technologies开发的一个让你轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine,Virtools或 Torque Game Builder等利用交互的图形化开发环境为首要方式的软件,其编辑器运行在Windows和Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone和Android平台,也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac widgets所支持。所以,本文提出了基于3DS MAX建模和Untiy 3D游戏开发平台的三维数字校园漫游系统的解决方案。
基于3DS MAX建模和Untiy 3D游戏开发平台的三维数字校园漫游系统的解决方案的前期依然采用3DS MAX建模。因为3DS MAX应用广泛而且技术成熟,结合校园的AutoCAD设计图和实地采集的地理信息,很容易制作出真实性好的三维模型。Untiy 3D游戏开发平台是一种基于开源的、组件化的游戏引擎,能够实现一次开发,跨平台发布的效果。最关键的是,它自带多个资源包,可以在不做任何编程的情况下开发出三维数字校园漫游系统。本项目将3DS MAX中做好的三维模型导出成.FBX格式,然后导入Untiy游戏开发平台,利用其所见即所得的开发方式,可以很方便地实现三维漫游效果。具体实现过程包括以下9个步骤。
2.1 整理CAD图和其他资源文件
在准备阶段,除了制订一些项目用的工作规范之外,重点就是整理CAD图和其他资源文件。在一些建筑物的CAD规划图中,含有许多不需要的部分,例如图框、标注、绿化部分、填充图案及其中的字体等。如果这些不删掉,在导入到3DS MAX时,可能会遇到一些问题。即使不出现问题,也可能因为文件量比较大造成3DS MAX死机。但是,一些基本的建模数据必须要保留。
2.2 地理信息实地采集
一般情况下,建筑物拍摄的基本步骤是:内业编号 (电子数据)→打印CAD图纸→拍照并记录电子照片的顺序→内业整理数据→提交成果 (电子数据和纸质地形图)。因此,首先需要根据要制作的三维校园的具体情况,对照CAD工程设计图,逐个采集各个建筑物的信息,以及有关地形信息。如果制作的对象内的建筑物很少,也可以不编号,直接利用建筑物名称标注,按照特定的约定的工作顺序(如从南到北,从东到西,顺时针方式)拍摄。
2.3 根据工程图纸制作校院地形和建筑物
三维模型的制作分地形制作和建筑物制作2个大类分组进行。在三维地形制作过程中,需要根据CAD设计图中的平面图,并结合实地采集的地理信息情况来完成制作。需要注意的是,地面上的一些“小品”的制作,比如路灯、宣传栏、垃圾桶、长廊、户外电视屏等也是在地形制作组中完成。
在建筑物建模时,需要根据CAD设计图的平面图和多张立面图来完成整个三维建筑物的制作,特别是多层建筑,需要根据情况或客户要求制作高精度模型或者简单模型。不论制作那种模型,都有以下要求:(1)没有破面、没有翻转面,结构尽量简化。(2)底部与地面接触的面 (也就是坐落在地面上的建筑底面)都应该删除。(3)模型落搭时,相对被包裹的小面要删除。(4)删除模型中重合的面,不然会造成重叠面在场景中闪烁的情况。(5)为了便于管理和以后合并模型,模型Z轴最低点坐标要在0点以上,地面同理。(6)对模型结构与贴图坐标起不到作用的点和面要删除,以节省数据量。(7)用面片制作栏杆的模型,用通道贴图来表现栏杆的透明效果。
2.4 利用采集的照片制作贴图
因为条件原因,拍摄的照片有些有变形、色差、透视等不规范的地方。另外,根据“做新如新,做旧如旧”的制作原则,在利用P htotshop软件加工采集实地照片时,也要加强这两个极端的效果。这样完成的贴图贴上模型后,才能更好地表现三维虚拟漫游效果。
2.5 利用UV在三维模型上定位贴图
在3DS MAX中,只能使用标准 (Standard)材质,材质类型使用布林(Blinn)材质。除漫反射(Diffuse)通道可加贴图外,其他通道一般不加贴图,其他参数采用3DS MAX软件默认设置。另外,不能在3DS MAX材质编辑器中对贴图进行裁剪对材质的透明度进行调节。材质的透明度依靠贴图的通道来实现。
利用3DS MAX软件中的UV贴图坐标和贴图展开等命令,将贴图定位到所做的模型上,完成整个模型的制作。在确认无误后,通过“塌陷”命令将贴图固定在模型上。
2.6 审查合并模型,场景制作,导出全部文件
因为修改的越早成本越低,所以,在整个场景合模之前,要逐一检查模型的正确性。确认无误后,再将模型合并到一个场景文件中。需要注意的是,在合并过程中,材质的命名不要冲突。另外,因为文件比较大,在合并过程中经常保存多个版本,以防死机。
完成的场景文件是一个MAX文件,Untiy 3D游戏开发平台不能接受该文件的。因此,需要将MAX场景文件导出成为FBX文件。如果用的是3DS MAX2009及以前版本,需要安装一个FBX插件,反之,直接导出即可。
另外,MAX文件中设计的贴图文件应作为相关文件一起提取,按照要求,存放在一个单独的文件夹,以便导入Untiy 3D游戏开发平台。
2.7 导入Untiy3D游戏开发平台完成3D效果
创建一个Untiy 3D工程文件,保存后会自动创建一个文件夹。退出Untiy 3D软件后,将导出的FBX文件及其相关的map贴图文件所在的文件夹一起复制到Assets文件夹中,再次启动Untiy 3D软件,会自动读取该文件夹内的资源,自动导入工程文件。也可以利用软件中的导入命令逐一导入。
在合并模型时,如果把建筑物和地形合并在一起,导出的FBX文件导入Untiy 3D软件后,就不需要单独制作地形和摆放建筑物了。如果没有全部合并在一起,在导入时,就需要导入多个FBX文件,然后,根据CAD设计图,在Untiy 3D平台上完成场景合并。
一个完美的虚拟现实三维漫游系统除了准确的模型,逼真的材质以外,还有很多环境方面的设置需要做:比如天空的添加、灯光的添加、绿色植物的设置,以及水面效果的设置等等。完成了这些设置才能使得最终的三维漫游系统更完美。
2.8 添加第一人称角色漫游
为了实现漫游效果,可以添加调用Untiy 3D游戏平台提供的第一人称角色漫游资源包。如果需要,也可以添加调用第三人称角色漫游资源包。这个功能是Untiy 3D平台自带的,实现起来很方便。具体操作步骤为:
打开“资源”菜单下的“导入资源包”选项中的相应命令,导入“角色控制器”。在对应的窗口中选择“第一人称角色”,并将其拖放到场景中,单击“层级”面板中的对应选项,可以看到其下包含的“Graphics”(图形,就是那个胶囊状的辅助物体)和“Main Camera”(主摄像机)两个子项。由于这个角色是胶囊状的,在形成系统渲染后,是看不见的,只是通过其上的主摄像机模拟第一人称角色人眼看到的景象。它的控制是由游戏平台设定好的,用鼠标控制运动方向,用键盘上的上下左右键控制行走。
2.9 调试、输出构建应用系统
选择输出载体、系统环境、媒体文件类型。在外界环境搭建完成情况下,可以输出跨平台、多格式、多选择的应用系统,可以实现一键部署到桌面。一般情况下,可以选择Windows系统下的x86(32位)模式下的漫游系统模式,也可以选择基于Web或者Android等系统下的相应模式。
基于3DS MAX建模和UNTIY 3D游戏开发平台的三维数字校园漫游系统的解决方案可以成功解决黄河水院数字化校园的虚拟现实三维漫游问题。同样,也可以通过一些改进,用于解决精品资源共享课程中的虚拟实验室,虚拟实训场和导游训练的虚拟场景的创建,还可以用于房地产营销,生成低成本的网上楼盘展示系统;用于文物估计展示;做成网上数字博物馆。如果利用该平台内嵌JAVA或C++代码,挂接Access数据库或SQL Server数据库,更可进行二次开发,实现信息查询和管理等功能。
[1]陈诚.三维校园的开发与设计即全景校园虚拟漫游技术的实现[D].武汉:武汉科技大学,2010.
[2]赖亮鑫.广东女子学院数字校园系统的构建与技术实现[D].成都:电子科技大学,2013.
[3]邱有春.虚拟校园场景建模和漫游系统实现[D].成都:电子科技大学,2009.
[4]徐健,方朝阳,高丹,等.江西师范大学人文生态校园虚拟仿真系统 [J].电脑知识与技术,2014(04):813-817.
[5]张晓宇.数字校园漫游系统的设计与实现[D].长春:吉林大学,2013.
[责任编辑 杨明庆]
TP393.18
B
1008-486X(2015)02-0052-03
2015-01-05
黄河水利职业技术学院软科学青年基金项目:黄河水院数字化校园之虚拟校园漫游系统方案研究(2012RKXB002)。
姜 锐(1971-),男,浙江湖州人,讲师,主要从事计算机多媒体技术教学与研究工作。