| 基于虚拟现实技术的电子地图系统设计 |
2. 武汉大学计算机学院, 湖北 武汉,430072;
3. 武汉大学动力与机械学院, 湖北 武汉,430072
2. School of Computer Science, Wuhan University, Wuhan 430072, China;
3. School of Power and Mechanical Engineering, Wuhan University, Wuhan 430072, China
随着计算机技术的迅猛发展,硬件水平的不断提高,虚拟现实(virtual reality, VR)这一综合了计算机图形学、仿真技术、微电子等领域的新兴技术渐渐引起大众的关注,众多学科纷纷开始寻找与VR的结合点。在此背景下,虚拟地理信息系统(VRGIS)技术逐渐成为地理信息科学新的发展方向[1]。
地图作为最常见的地理信息载体,是人们认识地理环境、获取并分析应用地理信息的工具[2]。传统地图受限于时间和纸张,具有空间信息平面化、地理信息符号化、地图内容的凝固化和静止化等特点[3],这样的情况虽然在网络电子地图时代随着数字地图制图技术的发展、地理信息系统的广泛应用等有所改善,但仍不够直观。由于地图中地点是现实世界的抽象符号化,故对于用户有一定的要求。而虚拟现实技术的出现和在地图学中的应用使得地图成为“可进入”的空间,确立了人的中心地位[4]。虚拟现实技术具有沉浸性、交互性和构想性等特征[5],因而结合虚拟现实技术的地图将会有以下特点[6]:①虚拟现实地图满足地图的可量测性、直观性、一览性3个基本特征;②虚拟现实地图可以让用户沉浸式多体感体验环境(仿真);③虚拟现实地图“可进入”,可交互。
目前,有一些系统在满足以上特点的情况下也制作完成了虚拟现实地图系统,其中大多应用于旅游或景观展示中[1, 5, 7-12],这些研究在虚拟现实地图的设计上偏重于让用户沉浸于仿真环境中,大多仅针对个别的景点进行小范围的应用,并没有得到广泛的应用,因此,需要制作精致的三维模型数据。
受困于三维建模的精度和制作效率,数据收集仅能集中于较小的区域,数据量偏少;又由于精细三维模型的展示需要一定的计算机硬件支持,虚拟现实设备往往昂贵,故难以大规模推广。针对以上问题,本文提出了一种新的虚拟现实地图系统实现方式,使用Google Cardboard SDK和Unity3D软件实现了一个虚拟现实地图系统的案例,从而从实践上证明了该方法行之有效,能够为用户提供沉浸式和更直观的地图体验。
1 系统设计方案本虚拟现实地图系统的模块结构主要分为3个方面,即首页地图模块、场景模块、文字信息模块。
1) 首页地图模块。进入虚拟现实地图之后,出现的是首页地图。首页地图采取与当前网络电子地图相同的瓦片地图载入数据,在宏观上对于地理要素进行展示。用户头戴虚拟现实设备,在地图的上空进行飞行,通过扭动头部控制前进的方向和转换瓦片地图层级,直到达到目的地。在漫游过程中,用户还可以通过语音指令直接跳转到目的地区域。在首页地图上分布着大量基于真实地理位置的兴趣点(point of interest, POI)。通过交互,点击POI点,用户可以进入不同的场景进行更为细致的浏览。
2) 场景模块。场景模块负责虚拟现实地图中地理信息的细节表达。根据每一个POI数据的属性和类型不同,所构成的场景也不同。根据数据来源,大致可以将场景划分为以下3种场景类型:图片场景、视频场景、三维场景。
随着互联网的普及和Web2.0的发展,网络上存在大量的地理标记图片,如新浪微博、QQ空间等,这是图片场景最丰富的数据来源;百度、腾讯等公司的地图部门采集了大量的街景数据,这是图片场景最重要的数据来源。此外,本研究在案例中使用了两台全景相机,根据双眼“视差”的存在,获取了更为真实和更立体的全景图片。通过图片数据,可以构建图片场景,用户在本场景中,可以通过交互方式,足不出户,沉浸式查看具体目的地的实景图片。
视频数据的采集与图片数据的采集类似,网络上存在大量的地理标记视频,可以作为真实地理信息的一种表现形式。由于视频相对于图片具有连续性、动态性、包含信息更多的特点,故可以更全面地展示具体地点的活动及风貌。通过视频数据构建的视频场景,可以让用户沉浸式地体验视频中的多种活动。
三维场景延续了先前研究的思路,即通过建模软件完成三维模型搭建,之后导入软件中,使得用户可以在整个场景中漫游游览,仿佛身临其境。为了能够为用户提供更好的体验,需要建立非常精致的模型,由于其全方位模拟了现实的世界,显示效果良好。
3) 文字信息模块。在各场景中,根据地物在场景中的位置可创建热点。通过交互功能,用户可以获取其储存在云端的文字属性信息。
2 关键技术 2.1 地理信息数据的存储和读取在虚拟现实地图中,POI数据点是数据的最基本单元。每一个POI数据点以对象的形式进行存储,存储内容为空间信息和属性信息。对于每一个POI数据点,创建调用接口可以获取相应的数据,并根据数据类型构建场景,从而实现了地理信息的读取和显示。
2.2 基于Google Cardboard、Unity3D的软件开发和场景搭建目前大多数虚拟现实设备昂贵,导致各种虚拟现实技术不易推广。Google Cardboard虚拟现实眼镜由于价格低廉,对硬件限制低。Unity3D作为最流行的游戏引擎,操作便利,且专门为Google Cardboard推出了开发工具。
对于各种地理数据场景的构建,采用如下方式:①使用Google Cardboard SDK中的场景摄像机模拟人在虚拟现实中的视角;②在Unity3D中导入地理信息数据,并根据数据类型的不同创建不同的场景;③对于全景场景(全景照片、全景视频数据等),需要创建材质球,将场景摄像机放入材质球的中心,再分别将全景数据生成为纹理,贴到材质球外;④对于普通视角场景(照片、视频数据等),需要根据地理数据的形状创建显示屏幕,再将摄像机放在显示屏幕前;⑤对于三维场景,需将三维模型导成fbx格式,再导入Unity中。
2.3 交互方式在本系统中,交互方式包含但不限于4种方式,即按钮、凝视、语音、动作。按钮是指用户点击虚拟现实设备的按钮,对虚拟现实地图中的菜单项进行选择与确认操作。在本系统中,首页地图与各场景之间的飞跃、属性信息的点击查询均需要通过按钮的形式进行操作。凝视是用户通过用眼睛控制游标停止在某一区域,当时间满足条件时,触发相应的事件,从而完成交互。在本地图系统中的部分场景下,用户可以通过凝视代替按钮实现操作查询的功能。动作是用户通过肢体的运动,包括但不限于扭头、手势等来完成交互。在本系统中,用户可以通过头部的旋转实现对系统首页地图的漫游;在三维场景中,也可以通过头部和视线的变动确定行进的方向和速度。
以上3种交互方式均在Google Cardboard SDK中封装完毕,所以可以直接进行调用,或根据代码进行一定的修改,以符合使用需求。
语言是用户通过语音控制系统的运行,完成相应的事件。随着语音识别技术的发展,语音识别准确率不断提高。又由于虚拟显示设备缺少键盘等输入方式,因此,语音指令是最重要的输入方式,可以完成整个系统的控制。用户发出语音指令后系统会自动进行识别,而后将识别出的指令发送应用模块,获取相应的数据,最终在虚拟现实地图中为用户进行呈现。在本系统中,处于首页地图时,可以通过按钮等交互方式调出搜索框,使用语音输入所需信息,完成查询POI点的功能,再通过按钮等交互方式选择相应POI点,并移动至POI点位置,或直接进入对应场景进行浏览。
3 VR+MAP软件实现本文完成了基于武汉大学的虚拟现实全景地图软件开发,采集了武汉大学范围内的二维瓦片地图和部分POI数据,实现了全景照片、全景视频、三维模型等场景的构建,用户可以使用按钮、凝视、语音、动作等方式与地图进行交互,实现地图的漫游和地理信息的查询。软件效果图如图 1所示。
![]() |
| 图 1 软件效果图 Fig.1 Effect Images of Software |
在图 1中,虚拟现实设备将屏幕分为显示左眼和右眼所能看到的场景。用户戴上虚拟现实设备后,可模拟真实场景,两眼所看到的景象将重合。虚拟现实设备在设计时考虑到了双眼视差的影响,故图 1中左眼与右眼所能观察到的范围不同。
4 结束语本文结合虚拟现实技术、GIS技术与计算机制图,提出了一种新的虚拟现实地图实现方式,并完成了案例软件的开发,实现了VR与地图的有机结合。这种虚拟现实地图最大的特点在于多种数据采集方式,实现现有地理信息数据的兼容和多元化全息展示;同时提供宏观(首页地图)与微观(地理场景)信息的浏览,使用户结合虚拟现实技术交互方式,沉浸式进行概况和细节的“双全”直观浏览体验。
目前,软件的开发仍然处于技术完善阶段,还需要进一步完善GIS功能,添加空间分析的模块;实现场景的自动化、智能化、规模化创建。
| [1] |
张青峰, 姚红生, 燕慧婷, 等. 基于MultiGenn Creator and VRP构建校园虚拟现实平台的理论与实践[J]. 测绘科学, 2010, 35(1): 192-194. |
| [2] |
唐宏, 杜培军, 盛业华. 虚拟现实技术与虚拟现实地图[J]. 地图, 2000(1): 6-8. |
| [3] |
潘琼. 现代地图学中的虚拟现实[J]. 测绘通报, 2002(6): 23-24. DOI:10.3969/j.issn.0494-0911.2002.06.006 |
| [4] |
吴刚, 王海涛, 刘晨帆, 等. 基于空间认知的虚拟地理环境研究[J]. 测绘与空间地理信息, 2011, 34(6): 143-145. DOI:10.3969/j.issn.1672-5867.2011.06.048 |
| [5] |
丁骏, 钟彬华, 崔振东. 三维虚拟校园的设计与实现[J]. 科技信息, 2011(13): 45-46. |
| [6] |
陈戈, 齐永阳, 陈勇, 等. 面向城市仿真的VRGIS平台设计与实现[J]. 系统仿真学报, 2009, 21(2): 457-460. |
| [7] |
蒋文燕, 栾汝朋, 朱晓华. 基于VRML_ArcGIS的虚拟旅游景观设计与实现[J]. 地理研究, 2010, 29(9): 1715-1723. |
| [8] |
刘桂芳, 卢鹤立, 孙九林, 等. 基于虚拟环境的黄河仿真系统构建[J]. 资源科学, 2008, 30(9): 1403-1408. DOI:10.3321/j.issn:1007-7588.2008.09.018 |
| [9] |
陈伏龙, 于旭永, 王京, 等. 三维电子地图的设计开发与研究[J]. 石河子大学学报(哲学社会科学版), 2011(S1): 11-12. |
| [10] |
常志坚. 虚拟3D旅游景观系统的设计及实验研究[J]. 电子设计工程, 2016, 24(16): 131-133. DOI:10.3969/j.issn.1674-6236.2016.16.040 |
| [11] |
崔秋玲, 李建松, 张明. 一种三维GIS与虚拟现实系统集成方法[J]. 测绘信息与工程, 2010, 35(2): 6-7. |
| [12] |
阙泽胜. 广东省三维地形场景仿真研究[J]. 测绘地理信息, 2016, 41(3): 100-102. |
2018, Vol. 43



