吴晓雪 王魏 李响 何东钢
摘 要: 建设虚拟现实的关键技术是构建虚拟场景,然而虚拟场景的构成存在复杂性和管理编辑困难等缺点。将地理信息系统和虚拟现实结合在一起是探索计算机仿真的重要应用。结合3DGIS,ArcGIS,Google Earth,osgEarth等地理信息系统实现虚拟校园的建设是一个新的方向。以大连海事大学为例,选择对建模要求较高的MultiGen Creator进行建模,利用osgEarth的分析功能优势和对OSG语言进行特定功能的二次开发。建立数字地球图,使用Google Map数据和三维模型实现了大连海事大学虚拟场景的功能建设。
关键词: 校园漫游; 地理信息系统; MultiGen; Creator; osgEarth
中图分类号: TN915.5?34 文献标识码: A 文章编号: 1004?373X(2017)20?0018?04
Abstract: The key technology of constructing virtual reality is to build a virtual scene. However, the structure of the virtual scene is complicated and difficult to edit and manage. Combining the geographic information system (GIS) with the virtual reality technology is an important application of computer simulation research. Adopting geographic information systems such as 3DGIS, ArcGIS, Google Earth and osgEarth to realize virtual campus construction is a new innovation. In this paper, Dalian Maritime University is taken as an example and MultiGen Creator with high demand for modeling is chosen. The superiority of analysis function of osgEarth is utilized for the secondary development of the specific function of the OSG language. The digital earth map was created. Google Map data and 3D models are used to realize the virtual scene functional construction of Dalian Maritime University.
Keywords: campus roaming; geographic information system; MultiGen Creator; osgEarth
0 引 言
建设校园信息化、普及网络以及借助网络平台提高学校的知名度,扩大学校招生已经成为一种趋势。构建多元一体的信息平台,教师生只需在客户端打开浏览器点击校园网址就能在虚拟的校园中自由地行走,不受时间、空间的限制,身临其境地畅游整个校园。了解校园的建设环境和校园风貌,将具有非常重要的意义。很多高校已经创建了自己校园网站,但是多数都是二维平面的。因此构想建立一个三维虚拟场景,将学校的教学环境、校园风貌等信息整合在一起,更直观方便地向师生展示。整合原有的资源信息,在场景建设中增加校园导航,校园楼宇信息展示和管理等功能。
虚拟现实技术(VR)通过用户的输入做出实时响应,全方位仿真互动模拟空间,主要由场景和对象、行为、互动、交流和声音组成。探索在于如何利用计算机图形学创建实时的三维效果,如何搭建虚拟场景窗口以及如何运用虚拟现实技术[1]。虚拟现实导航系统主要借助计算机建模工具完成三维效果,并通过编程软件进行场景的导航(例如漫游)。osgEarth是基于OSG(Open Scene Graph)使用标准C++语言开发的开源地形生成系统,实时构建、优化、显示地形模型[2]。运用osgEarth的虚拟现实系统,可以对学校信息进行查询、解析和决议。为促进校园发展建设、提升科研水平提供帮助。
当前,虚拟场景建设多数是基于Vega Prime、EV?Globe创建。VR技术逐步发展成熟,视景仿真对模型的表现要求也越来越严格。大量的高程和卫片数量使传统的建模、调用、渲染面临挑战,只能进行简单场景的重现和普通地图基本操作,不能完成深层次空间解析。虚拟场景建设平台应具备二次开发接口、良好的数据处理能力、较高的渲染速率、传输速率、多类数据支持和支持大范围地形能力,因此本文选用osgEarth来实现虚拟场景建设。
osgEarth具有各类功能的驱动器,允许设计者结合实际需要扩展其他类型的驱动器[3]。本文结合虚拟现实技术和地理信息系统,在VC++开发平台集合osg 3.1.2和osgEarth 2.5开发包,创建三维球体模型。在此球体上添加建模数据、卫星影像数据、楼宇信息,实现虚拟场景的功能建设。
1 osgEarth
近些年,开源领域出现了一个海量地形可视化平台:osgEarth。osgEarth是基于標准C++和OSG开发的地形生成系统,实时加载和渲染地形,支持.shp,.jpg,.tif等多种数据格式。能够访问Google Map,ArcGIS Online,WMS,TMS等地图服务器,利用地图数据服务器下载高程数据和影像数据,进行缓存、优化、校正、分层显示[4]。endprint
编写Earth文件,标记地理空间数据,设置特定功能的驱动器加载数据信息。如GDAL是影像/高程驱动器;VPB驱动器,从VPB生成的地形数据库读取相应的影像和高程数据;TMS驱动器,通过TMS方式读取瓦片数据[5]。Earth文件是基于XML语言编写的,主要有建立高程数据、添加模型纹理信息、生成缓存数据和预缓存数据。OSG自身带有的插件将地理空间数据组织成一种数据格式,保存在一个文件中,程序运行时,根据文件的索引实现OSG文件的读写,最后经过OSG的渲染引擎完成场景图绘制[6]。用户也可以利用OSG的插件扩展功能,建立自己的插件數据,将虚拟场景要素的可视化融合到osgEarth平台中。
2 建模工具的选取
实现虚拟校园场景的漫游,在构建三维模型时必须做到细致认真,保证模型大小比例与实体接近,模型所处位置信息与真实情况相一致。目前,用于建模的主要工具有:MultiGen Creator,3D Studio MAX,Maya。MultiGen Creator是比较超前的三维数据库生成系统,具有较高的层次性、逻辑性、可靠性、精密性、灵活性、易操作性等特点。在虚拟场景仿真、模拟演练领域有重要应用。3D Studio Max具有界面友好,支持的插件多等特点,主要应用于构建模型、设计动画、输出渲染、后期加工等方面。Maya可以进行三维和视觉效果的制作,毛发渲染和运动匹配技术等。上述几种建模工具各有优点,但是3D Studio MAX和Maya是按照建立模型、渲染模型、最后播放模型的顺序步骤[7],MultiGen Creator可以在人机交互的情况下实时地进行仿真渲染,提高建模效率[8],并且考虑到后续导航系统的一致性,这里选择MultiGen Creator软件,用户通过仿真视景库编辑和查看。MultiGen Creator软件建模后生成.flt数据格式,支持的格式标准是排名靠前的可视化数据库标准,也是视景模拟仿真的行业准则,具有较高的层次性和逻辑性。可以使图像发生装置任意时刻都以较高的精度绘制三维场景,保证场景渲染的实时性。
2.1 建模素材的搜集
为了让虚拟场景更加真实,还需详尽地搜集学校相关信息,包括:
(1) 校区平面图。平面图是构建虚拟场景的根本依据,如图1所示,利用平面图可以从整体上把握整个校园环境和位置信息,掌握模型的位置分配,比例大小和结构信息等。
(2) 可供使用的影像、图片资料。
(3) 实地勘察。为了复杂模型的构建达到逼真的效果,建模人员还需要到现场进行实地勘测。对模型进行摄影、摄像,记录模型大小、尺寸、位置、形状和颜色信息,对模型有直观的了解,熟悉模型的整体框架。再利用MultiGen Creator软件对模型进行完善。这样构建的模型才能真实、准确,取得更好的效果。
2.2 建模基本步骤
场景建模的基本指导思想是:尽可能减少点和多边形的数量,构建层次结构库,减少冗余的面,消除近距离点的微小结构。这样可以减小系统内存,提高渲染速率,以此来创建精确、美观的模型。具体建模步骤如下:
(1) 设置建模环境。打开MultiGen Creator软件后首先需要对建模环境进行设置,包括单位、颜色背景、坐标参数等。
(2) 按比例对模型进行绘制。利用MultiGen Creator建模不可能绘制出模型的实际大小,需要对模型的长、宽、高按比例进行缩放绘制。建模时需要对模型进行分解,把模型分组成几个部分,每个部分可以用一个独立的层次实现。合理的对模型分组可以提高模型的检索速率和模型的场景管理能力。
(3) 调整模型的数量、材质、纹理、光源等参数。一般模型的材质通过Ambient和Diffuse属性可以实现[9];颜色的设置通过调节(Modulate)、混合(Blend)、透过(Decal)、替换(Replace)实现。模型如有反光效果,需另外设置Specular和Shininess属性;Transparency属性用来控制模型的透明与否。更改参数Decal可以调节纹理的明暗程度。
设置Draw new textured polygons white属性,防止面和纹理颜色互相干扰影响。
虚拟场景是否逼真主要通过纹理来呈现,纹理的精细度主要通过图片处理软件所得。本文采用Photoshop图像编辑软件,将现场拍摄的照片经过纠正,保存图片大小为2n次方,设置.jpeg或者.tiff格式进行储存,这样贴图时用到纹理不会出现扭曲和变形。
建模的流程如图2所示。
3 三维场景构建方法
3.1 校园模型在地表的放置
创建完数字地球以后需要考虑模型的放置位置,点击模型并实现相关信息显示功能。osgEarth中ObjectPlacer工具提供了模型放置的方法。在Google Earth上查出大连海事大学经度、纬度,运用ObjectPlacer函数就可以把模型放在指定位置上。
设模型为OSG中的一个细节层次节点(LOD),假定LOD的两个可视范围是0~5 000 m和5 000~30 000 m。浏览时当视点距离小于5 000 m时对模型进行加载显示,当视点距离过远,大于5 000 m时不显示模型信息,系统自动判断实现细节层次显示。
3.2 模型的LOD显示
Level Of Detail(LOD)根据视点与模型的位置和重要性,选择不同粗糙度模型进行渲染,减少远视点模型的面数和细节度,来提高渲染效率[10]。OSG有专门的场景结点osg::LOD,可以实现多种细节层次模型。osg::LOD有类PagedLOD,往往应用于查看海量数据模型。如果单采用LOD技术,计算机加载全部模型的细节层次会导致内存量过大,运行缓慢。PagedLOD技术,把多个子节点设置为复杂模型的多个细节层次,并单独加载每一个细节模型文件。endprint
PagedLOD融合LOD和DatabasePager技术,可以同时缓解内存和渲染的压力[11]。在浏览三维场景时,根据视点的距离加载不同细节层次的节点模型,将用不到的细节层次模型和窗口外的模型告知DatabasePager。PagedLOD实现方法如下:
DatabasePager管理场景节点的动态调度,主要负责删除模型节點、加载子节点、预编译处理、合并对象到场景树中。系统自动判断哪些数据是需要的,哪些数据是不需要的。数据请求队列接收进入视点范围内的模型,对文件数据进行加载、编译,再将对象合并到场景树的响应父节点;对离开视点范围内的模型进行卸载,释放该节点降低系统的开销,提高渲染效率和系统管理内存。模型LOD显示效果如图5所示。
3.3 指定路径的漫游
把编写好的Earth文件作为一个子节点加入到OSG中,利用OSG自带的漫游器,插入路线关键点(起点、拐点、终点)位置、方向、时间,变换矩阵改变视点位置,实现导航功能。AnimationPath是OSG中的路径对象类,定义AnimationPathManipulato操纵器,在构造函数中输入路径文件名字,加入键盘选择器keyswitchManipulator。编写OSG中的cameraManipulator类的getMatrix方式更改视点视角,定义新的漫游器。图6为导航系统流程图。
将校园东门作为漫游起点,经、纬度坐标为(124.617 7°,39.124 6°),校园西门作为终点,经、纬度坐标为(108.168 2°,38.190 3°),实现代码如下:
4 结 语
本文把地理信息系统osgEarth和虚拟校园漫游结合在一起,并以大连海事大学为例,构建了基于osgEarth的虚拟校园。其中包括对建模素材的搜集、建模平台的选取等基本的建模介绍,校园模型在地表的放置,模型的LOD显示和对导航功能的介绍,为地理信息系统的建设研究提供了思路。
注:本文通讯作者为何东钢。
参考文献
[1] 何冰,陈巍.虚拟校园漫游系统的设计与实现[J].电子技术,2016(1):45.
[2] 陈波,任清华,杨华斌.基于osgEarth的三维数字地球平台设计与实现[J].电子科技,2015,28(10):65?68.
[3] 吴小东,许捍卫.基于osgEarth的城市三维场景构建[J].地理空间信息,2013,11(2):107.
[4] 林丽琼,陈守军,谭忠富.电网运营风险预警评估的模糊故障树分析模型[J].华东电力,2014,42(2):229?233.
[5] 杨俊杰.基于osgEarth绘制线状矢量数据的模板体技术[J].韶关学院学报,2012,33(8):17?20.
[6] 王文涛.地理栅格数据压缩与场景组织管理技术研究与实现[D].长沙:国防科技大学,2011.
[7] 邵晓东.creator建模艺术[M].西安:西安电子科技大学出版社,2014.
[8] 起奇哞,田传艳,胡苹炱,等.基于Multigen Creator某飞行器视景仿真模型优化设计[J].计算机测量与控制,2015,23(10):3494?3497.
[9] 靳海亮,苗保亮,刘慧杰.Creator三维校园建模方法的研究与实现[J].计算机与数字工程,2010,38(10):133?136.
[10] 李炜.地理信息一体化空间坐标系统的设计与实现[D].郑州:解放军信息工程大学,2007.
[11] 李雷.基于OGRE的海量三维模型动态调度技术的研究与实现[D].南宁:广西大学,2012.
[12] 毛学刚,李明泽,范文义.三维虚拟校园的设计与实现[J].科技信息,2008,33(1):47?49.endprint