我们来了解如何使用VRMap软件来实现三维建模和可视化应用。
VRMap简介
VRMap产品系列是北京灵图软件技术有限公司推出的的三维地理信息系统平台软件,可以在三维地理信息系统与虚拟现实领域提供从底层引擎到专业应用的全面解决方案。其海量数据处理能力、高级仿真效果、快速集成传统 GIS 数据构建场景、二次开发支持等关键技术指标均全面领先于国内外其他同类产品。与国内外同类产品相比,VRMap 能够为政府部门、企业、专业领域用户提供性能更优、持有与维护成本更低、扩展性更好的三维地理信息和虚拟现实应用解决方案,是进行三维应用的最佳的基础软件平台之一。
应用VRMap3。 0 3维地理信息系统平台,可以低成本快速利用已有数据建立3维应用,它具有以下几个主要特点:
1)海量数据处理的能力
3维数据的数据库管理与传统GIS数据不同的是, 3维数据的数据量远远超过了传统GIS,用于描述真实复杂结构的精细模型和材质贴图使得数据量成倍的增长;另一方面, 3 维GIS系统所要求的实时性对数据库系统的性能提出了很高的要求。对于城市级别的3维城市仿真系统,涉及的数据有数字高程模型DEM、卫星影像、2 维地形图、建筑物的3D 数据、地物纹理、绿化植被等表现3维形式的数据,为实现在大场景中的快速漫游、缩放、检索,需要通过基于结点的属性绑定、分层管理技术和R 树技术来管理空间数据和属性数据,并采用皮肤+骨架技术,借助分布式存储、分布式运算技术解决海量数据的存储与动态载入、显示的问题。
2) 大场景的支持
城市3维虚拟场景的面积都在上千平方千米以上,要求系统对大场景的支持,VRMap采用了金字塔数据结构来组织数据,在浏览的数据都只是其中的一个很小部分,从这个意义上来说,无论整体的数据量有多么庞大,都不会影响到在客户端的浏览速度。在细节意义上,采用了多种图形技术来加速复杂结构的渲染,其中包括多种LOD技术,全自动遮挡排除技术,快速模型生成技术等,系统漫游中自动将能看到的3维场景进行自动加载,以此来保证系统流畅、海量数据快速处理和观看漫游。
3) 可个性化的二次开发功能
VRMap 的数据库技术使用Microsoft的ADO /OLEDB 的万能数据访问标准(UDA)来访问和管理数据,二次开发用户可以通过工业标准的访问方式SQL 语言来操作数据。系统分为驱动层、核心层、应用层、扩充集层,支持的二次开发方式包括界面自定义、VBA 开发、插件开发、自定义节点、SDK开发、控件开发等,用户可以在任何一个层面进行二次开发,利用成熟组件体系,开发出符合自身特殊需要的成熟的3维地理信息系统。
4)多源数据的兼容性
3维虚拟现实反映真实城市的的空间地理,涉及大量描述复杂模型和材质纹理的多源数据,VRMap支持的数据格式有:
(1) 数字高程模型(DEM): USGS美国标准DEM文件、GRD中国标准DEM文件、Arc Info E00 GR ID、其它的2维等高线文件(包含Map Info 的M IF&M ID、ArcView Shape
格式、Arc Info E00格式等) ;
(2) 数字正射影像(DOM): Window Bitmap格式;
(3) 数字线划图(DLG): Map Info 的M IF&M ID、Arc2
View Shape格式、Arc Info E00格式、AutoCAD DXF格式;
(4) 数字栅格图(DRG):Window Bitmap格式;
(5) 数字模型(DM): 3DS文件、DXF文件。
5) 3维场景的快速建立
在传统地理信息系统中,采用矢量的点、线、面表示各类地物,积累了大量的空间数据。面对大量矢量数据, VRMap 提供了多种多样的转换方法,可以快速利用原有数据生成位置准确、表现真实的3维景观。
(1) 3维地形的快速生成:VRMap提供的导入器可以快速地根据原始的离散高程点数据、等高线数据、DEM、DOM数据,快速建立3维地形。
(2) 动态建筑物生成:支持从平面数字线划图中快速地拉起城市建筑群,可以直接从GIS数据相应字段中读取房屋楼层信息,并予以3维真实的再现。还可以为不同的房屋定义不同的屋顶类型,如人字形房顶、尖顶等。
(3) 纹理地块:在某些应用下,简单的用单色区域来表达可能并不充足,比如对于湖泊,如果带有水面效果,则表达会更逼真,而对于草地、土地等不同的地质区域,用相应的地质纹理进行覆盖,表现力度强。
(4) 匹配点、线、面技术:在传统GIS中,一个点可能是一棵树或者路灯;一条简单的折线段可能是一条高速公路,也可能是铁路或者河流;一个面区域可能是湖泊,或者是树林、草地。而在3维系统中,将不同类型的景观(树木、花草、路灯、道路、水域等)通过一个匹配模型动态合成在一起,动态生成公路、铁路、树林、湖泊等的真实景观,简单快捷转化为更贴近现实的3维表现方式。
基于VRMap进行三维建模及可视化的流程
下面我们来看看具体的工作流程:
在这里,我们以DWG格式地图为地物信息数据来源,而不是另外专门采取数字摄影测量的方法。由于我们的地物数据来源于DWG格式的线划图,而VRMap 仅支持M IF和SHP两种格式的地物数据格式, 因此在将DWG格式的地物数据导入VRMap之前,需将DWG格式地图转换为MIF格式并进行一些必需的后期处理。同时由于DWG格式的线划图采用1954北京坐标系统,而DEM和DOM都是采用1980西安坐标系,因此在将DWG格式的线划图导入之前,需要统一DLG、DEM、DOM三者的平面坐标系统。
利用VRMap制作三维景观是一个复杂并且有序的过程。
1)DEM的预处理
由于CNSDTF DEM与VirtuoZo DEM之间主要有以下三点差别: ①数据头不同, IMAGIS的DEM只需要少量的参数即可,文件头仅有5个参数,而CNSDTF格式的DEM则有12 个参数; ② 数据体的区别,最新国标格式的DEM数据体中间存在空格,而IMAGIS接受的DEM数据体里面则不可存在空格; ③国标格式的DEM的坐标计算是采取从北到南、从西到东的顺序推算的,而IMAGIS格式的DEM则是采取从南到北、从西到东的顺序推算的。
所以,针对CNSDTF DEM和VirtuoZo DEM之间的区别,我们采用了以下几个步骤对VirtuoZo DEM数据进行处理, 以便将VirtuoZo DEM 转换成CNSDTF DEM导入VRMap。(1)对VirtuoZo DEM头文件参数进行扩充;(2)根据DEM的行列数对VirtuoZo DEM数据体进行分组;(3)对VirtuoZo DEM数据体进行变换,也就是将数据体的南北方向数据进行互相调换即可。
2)DWG地形图的处理
(1) 删除不必要的图层,仅保留建筑物、标注、草地、路灯以及树木所在的图层;
(2) 在CASS5。 0中,采用7参数转换法将地形图从1954北京坐标系统变换到1980 西安坐标系统;
(3) 将DWG格式的线划图输出为DXF格式,并在Map Info中将其转换为TAB格式;
(4) 在MapInfo中转换得到的TAB格式的地图并不能直接在VRMap中使用,还需利用特别编制的Mapbasic程序进行处理。Mapbasic程序的主要处理过程为: ①对与面重复的线条、注记中的汉字、面以外的注记和没有注记的面进行删除; ②通过搜索面内的注记给建筑物实体的层数字段赋值,并给每一建筑物实体赋一个惟一的ID值,同时对草地图层进行清理,最后将得到的TAB格式的地物文件转换为Map Info的交换格式M IF。
3)TAB文件的制作
在VRMap中,对DEM进行正射影像的地理匹配时并不是利用cdr和tfw文件进行自动匹配,而是采用Map Info的TAB格式地理匹配文件进行批量匹配,因此在进行自动匹配之前,需利用程序读取cdr和tfw中的参数来生成3。 0版本的TAB格式地理匹配文件。
4)纹理照片的处理
通过应用在实地拍摄的建筑物及其他物体的照片,不仅有助于补充模型细节方面的不足,而且还能提高场景的真实性。而对近景数码照片的处理则是在Photoshop中进行的,主要是综合利用裁剪、拼接、自由变换和拉伸等一些基本操作。处理后的照片最好保存为JPG格式,以减少数据量,同时图像的分辨率应调整为2的幂次方,图像的大小也应该尽量小于100KB。
5)特殊物体的建模
城市内一些特殊的物体,如果采用自动拉伸的方法建模会使建筑物产生严重失真,诸如此类的不规则物体及其标志性建筑物都需要进行单独的建模。在场景中可以重复使用的一些特殊的模型,如树木、道路等, 在单独创建之后将模型保存为VRMap的专用模型文件格式VMD,然后在场景中沿线进行模型匹配及其成批种植即可,采取此方法可以大大提高场景模型创建的速度。我们在进行城市三维景观构建时,将这些不规则和特殊的物体分为树木、植物、路灯、道路和建筑物五大类分别进行建模,当然这五大类还可以进行进一步的细分,如树木还可以分为杨树、松树、柳树等。由于采用3DMAX建立的模型文件体积过于庞大,所以可以采用模型文件很小的建模软件—MultiGen Creator。
6)城市三维景观的集成
在前期准备工作完成之后,只需将各种数据及素材在VRMap中集成即可,具体的集成过程分为以下几个方面:
(1) DEM、DOM、MIF (Map Info公共交换格式)数据的成批导入;
(2) 单独创建模型的导入及其比例、大小、位置的调整;
(3) 城区主要道路的铺设及道路两旁树木、路灯的成批种植;
(4) 建筑物侧面及顶面纹理的粘贴;
(5) 城市主要道路及其标志性建筑物的标注;
(6) 其他一些特殊的效果处理,如烟火、河流的波浪和喷泉等。
7)城市三维景观的漫游与发布
在场景制作完成之后,亟需对升级数据格式、静态优化、塌陷、节点合并和节点替换等步骤进行场景性能的优化,以提高场景浏览速度。最后场景的发布即可以输出为AVI格式的视频文件,也可以将场景以VRML的方式保存并在网上发布,同时也可以利用VRMap 提供的组件,在Visual Basic环境下开发自主的浏览器,以便对vm2格式的场景浏览。
VRMap提供键盘和鼠标2种最基本的实时浏览操作,可进行步行模式、飞行浏览等,使任意交互式浏览随意轻松。利用键盘实现前进、后退、升降、左转、右转、调整俯仰角等操作,并且可以设置前进后退速度、旋转速度等。利用鼠标实现放大、缩小、针对任何节点的旋转、场景平移等操作。
还可以通过VRMap自定义节点开发制作很多特殊效果和功能,如喷泉、爆炸、火焰、水流、雾等,包括特殊的光第5期陈晓勇等: 3维虚拟现实系统在城市规划中的应用光影效果,平行光、点光源、聚光灯等,都可以通过创建特殊节点来实现。