-
虚拟地理环境是现实环境和虚构环境在计算机中的映射与重建[1],它以“化身”为中心[2],是研究“人地关系”和大规模破坏性地理问题的虚拟实验室[3],是实现多角色协同研判地学问题的科学工具[1]。虚拟地理环境在实现对地理现象和过程的模拟和表达中,追求“形似”和“神似”的统一,即虚拟环境不仅需要保证各种虚拟表达背后物理过程的科学合理性,同时要提升可视化的形象与逼真性[4]。从技术的角度说,就是要做到可视化表达的直观逼真性与地学模型的深度耦合。
目前,虚拟地理环境已经在场景漫游、虚拟城市、作战模拟、灾害模拟、应急反应等领域得到较为广泛的应用[3, 5-7]。但是,由于受到场景复杂度、数据量和计算能力的限制,现有的虚拟地理环境难以在高度逼真的情况下实现对环境、实体、人物以及过程的一体化耦合表达,主要表现在几个方面:(1)有些虚拟地理环境只是示意性地把场景三维化,其细节表现、纹理色彩等与现实环境相差甚远,这对于面向实现地理环境虚拟可视化表达应用来说,难以满足用户对虚拟环境高逼真性的要求,尤其在实时光照、动态波纹等整体环境的动态渲染方面表现更为突出。(2)在处理大数据量时,由于受到计算机资源的限制以及图形算法的制约,当处理复杂地理问题时,往往为了追求运行的效率而牺牲图形表达的精细度和逼真性,或者采用事后可视化的策略,影响了场景的实时性。(3)人物、实体与环境的一体化表达,特别是逼真虚拟环境下的耦合可视化尚没有一个很好的解决途径。
作为虚拟环境演化发展的另一领域--3D游戏,最近出现了长足进步,一些性能卓越的游戏引擎受到关注,例如CryEngine、Unreal Engine、Unity3D等。这些游戏引擎的共同特点是场景逼真度高、数据处理能力强、动态表达性能优越以及对环境、人物、实体等耦合能力强。这些优点恰恰是虚拟地理环境高逼真综合表达所面临的问题。然而目前尚没有借助这些优秀图形引擎构建虚拟地理环境的尝试。本文主要探索基于CryEngine构建虚拟地理环境的技术途径,意图提升虚拟地理环境逼真与综合表现能力。
目前,基于CryEngine已开发了一些性能优秀的游戏,比如孤岛危机、永恒之塔、战争前线等。同时,著名的3D电影《阿凡达》的场景虚拟创建也是基于CryEngine完成的。基于CryEngine构建高逼真的可视化虚拟环境,用于科学研究或军事训练,也正受到科研人员的青睐。比如,美军正在军事训练领域投入巨资,基于CryEngine构建“近似真实的虚拟训练系统”,用于对其分布全球的海、陆、空等多兵种进行训练。在国内,基于CryEngine开发军事训练系统正在兴起。也有一些学者基于CryEngine尝试构建虚拟场景[8],但是在场景的快速构建、车辆动态行为模拟、人物行为智能模拟,以及场景集成与渲染等方面研究不足。
-
本文通过研究与系统构建实验,归纳出了基于CryEngine的虚拟地理环境构建总体技术框架(见图 1), 包括数据预处理、系统开发与功能扩展、可视化编辑以及应用等4层结构。在数据预处理过程中,首先针对各种原始数据,如遥感影像、地理信息、现场调查数据等,经过通用处理软件进行分类、去冗、合并、矫正等预处理,然后对数据格式进行转换,使其能够被CryEngine引擎所兼容,成为构建虚拟地理环境的基础数据。第二层是系统开发与功能扩展,即针对CryEngine所不具备而系统构建所需要的功能进行开发,并添加到CryEngine中,成为可复用的功能模块。开发的功能可以添加到现有的功能模块中,成为其中的一部分,也可以形成相对独立的功能模块。第三层是可视化编辑,即借助集成了各种编辑器的可视化编辑平台SandBox实现对地形、地物、环境、车辆、人物、特效等的编辑处理,以及对它们之间的逻辑关系进行位置设定、行为控制、逻辑表达等。第四层为系统应用,即根据研究的对象分析其需求,并利用CryEngine对其进行实现。
该技术框架能够很好地契合虚拟地理环境对数据集成、过程模型集成和可视化表达的总体要求。
-
数据集成包括数据格式转化和数据组织。各种原始的数据并不能直接成为CryEngine平台支撑数据,而是需要将其进行必要的转换,其中包括数字高程模型(digital elevation model, DEM)、作为地表纹理的遥感影像、纹理照片、CAD、地理信息数据、声音、视频等。数据转换需要通过两个途径完成:其一是利用通用处理软件,完成对语音和视频的处理;其二是利用安装有CryEngine插件的处理软件,实现对纹理、3D模型、粒子以及动作等的编辑、修改、转换、导出等。CryEngine对数据的组织是通过脚本文件管理模式完成的,同时对数据存储的路径有着严格的要求。因此,格式转换之后的数据必须按照规定放置。同时,组织好的数据在CryEngine中被当成资源,可以被不同的应用所共享。
-
过程模型是虚拟地理环境实现过程模拟的基础模型。本文技术框架下,这些模型的集成主要是通过可视化流程(flowgraph,FG)的节点来扩展实现的。也就是说,针对一个过程模型,需要将其抽象化为一个或多个节点,同时明确其与外界实体对象的交互关系。通过开发过程中对节点的注册,将该节点添加到FG的节点列表中,从而实现对过程模型的集成。当需要执行所集成的模型时,只需将该节点及与其产生相互作用的实体加入到FG编辑器中,并通过关系链将他们关联在一起即可。
-
在CryEngine中,可视化表达通过编辑器SandBox实现。SandBox是一款“所见即所玩”的可视化编辑环境,它不需要开发者对图形开发有着深入的掌握,却能够提供非常优异的图形渲染效果,使虚拟环境的可视化表达有着质的提升。在本文技术框架下,利用SandBox能够实现对地形、地物、植被、车辆、人员的可视化集成表达,同时也能够完成对流水、大气、天气等的过程模拟。
-
CryEngine中的三维地形重建是基于可视化模式的,即通过地形编辑器在虚拟场景中直接对地形进行改变,直至其符合研究人员的需求。这种构建方法能够满足那些不需要与现实环境严格对应的虚拟环境开发。但是,对于现实地理问题的研究来说,这种主观臆造的地形显然不能作为研究对象,因为面向实际问题的虚拟地理环境地形必须与现实环境地形相一致。解决这一问题可以通过数字高程模型来完成。
在基于CryEngine的虚拟地理环境构建中,要想把数字高程信息集成进来,使其符合现实环境的高程,必须解决数字高程模型到CryEngine三维地形的重建问题。本文经过探索,研究并成功实现了这一转换途径,如图 2所示。针对CryEngine对灰度图的兼容性,首先将DEM提取出来,然后转换成16位灰度位图,调整灰度的颜色深度,让浅色代表高海拔,而深色代表低海拔。设置颜色的最大值和最小值所代表的地形最大海拔和最小海拔值。然后在CryEngine中,利用地形编辑器对局部突变进行适当平滑和修整,从而得到最终的虚拟地形。
地表纹理的构建与贴图是虚拟地形环境构建的另一项重要内容。对于大区域地形环境来说,地表纹理可以依托高分辨率遥感影像来完成。对于需要精细化的局部区域,则可以通过现场拍摄照片来获取。然后在CryEngine环境下,利用地表材质和纹理画刷实现对地表纹理的修整。
对于地表道路的构建,则是通过CryEngine提供的可视化道路生成工具来实现。需要将遥感影像导入到虚拟地形环境中,利用道路编辑器,沿着道路的中心线直接描绘,同时给出道路的宽度、边沿属性和纹理等基本信息即可。
-
车辆的建模与模拟已经不是新问题,但还存在许多有待改进之处,比如,缺乏车辆行为的合理性与外在表现的有机统一,车辆模拟往往需要复杂的程序开发,缺少简单且直观化的可视化编辑环境等。本文通过分部件建模、部件关系脚本限制以及车辆物理行为可视化控制等方法,很好地解决了以上问题。
本文面向CryEngine的车辆建模与模拟的技术路线如图 3所示。在模型构建时,对车的外壳等固定部件和车轮等活动部件分开处理,并通过脚本文件对部件的依附关系和运行参数进行限定,使得车辆的性能和行为符合其固有的物理特性。经过以上处理之后,即形成了一个完整的车辆模型。而车辆在运动过程与地形的匹配和对周围环境的破坏与影响则需要通过在虚拟环境中的可视化模拟方法来完成。
本文主要完成对车辆位置、速度、方向、方位、姿态的实时计算,以及其与外界环境(如道路)的交互模拟研究。车辆的行为模拟主要通过两种方法完成,即智能体模拟和外界控制。智能体模拟借助于人工智能的方法,通过物理模型的集成实现对车辆状态和行为的控制与模拟。而外界控制方法则通过外界的输入设备,如方向盘,实现对车辆的运动控制。同时,两种方法能够紧密耦合,即利用外界控制来驱动车辆运动,而车辆的姿态以及其与环境之间的相互作用则借助于智能体模拟方法完成。
-
人物的模拟需要解决两个核心问题,即人物的模型构建以及行为的模拟。本文对人物的建模分为三步:(1)构建人物基础模型,即经过轮廓构建、骨骼蒙皮、多维材质编辑等步骤后,形成基础人物外形模型。(2)构建人物的动作集,即人物动作的最小单元。比如,一个士兵跑步到长官那里,然后抬手敬礼。这一连贯性动作可以分割成两个动作,一个是跑步的动作,一个是敬礼的动作。在实际的使用中,需要将这两个动作做连贯性驱动。(3)通过将模型和基础动作进行耦合并集成到CryEngine中。以上的角色建模,完成了对人体基本动作的规定,比如跑、跳、爬、举手、抬腿等。这些动作在本文中被称为人体动作。
本文将与人的主观行为有关的动作称为行为动作。比如,当虚拟环境中的人物从一个点选择适当路径行进到另一个点时,这其中的路线选择、动作触发等行为就是行为动作。行为动作的模拟是通过三维建模方法所解决不了的,必须通过人物的行为控制与模拟的方法完成。本文主要采用两个途径实现:一是通过动作感知技术,将人体的动作及其行为从现实环境中采集过来,直接驱动虚拟环境下人物角色的动作与行为;第二种方法则通过智能体模拟实现对人物的自动控制。两种方法的配合使用,能够更加逼真地实现对人物行为的模拟。上述技术路线可以概括为如图 4所示。
-
CryEngine的环境集成是“所见即所得”的可视化集成方式,即在可视化的三维地形上进行拖拽与放置,然后利用流程控制相关过程。在集成过程中,需要完成物体的位置与比例匹配、参数设置,以及环境渲染等。
位置与比例匹配是场景集成的一个难点。本文中,位置匹配是通过二维图和三维图的初始对准,而后在三维图中提取模型对象的轮廓,并将该轮廓导入到建模软件中,此时的轮廓模型就具有了三维环境下的位置信息。基于轮廓模型进行精细化建模完毕后,再导入到三维场景中时,其位置将自动匹配到原来的位置上。模型的比例匹配,即模型的大小比例与虚拟环境的比例匹配是实现模型尺寸与环境协调的基础。本文主要采用同一种建模软件下设置实体的单位,然后分割地形地物,最后分别构建的思路完成。
场景集成的第二个重要工作是环境渲染,包括光照渲染和自然现象渲染。光照渲染是利用CryEngine光照设置编辑器完成的,包括环境光照(如太阳光)和点光源(如灯光)的设置。在太阳光的设置上,为了模拟实际区域的光照氛围,需要设置纬度、太阳路线、黎明与黄昏时间间隙等。对于自然现象渲染,是利用CryEnigine集成的环境参数编辑器完成,包括风速、风向、雾的浓度和颜色、云的效果、水面的波动、天空背景以及光照色度等。
-
原型系统框架设计如图 5所示,包括数据获取与处理和三维虚拟环境平台。其中,数据获取与处理的主要任务是获取虚拟环境构建所需要的支撑数据,并对其进行处理,处理的结果被用于系统构建所需的各个部分。三维虚拟环境平台是系统的核心,主要分为两大块,即建模部分和模拟部分。建模部分主要完成虚拟环境构建所需要的地形、建筑物、植被、人物和移动实体(如车辆)的三维重建。模拟部分主要完成对各类对象的模拟,包括气候、光照、音效、人物行为、移动实体行为等模拟,以及系统漫游与交互控制等。三维虚拟环境平台的开发是在CryEngine的基础上,结合各种建模软件、Visual Studio 2010、Flash等实现。
-
支撑系统实现的技术工具包括3DsMax、ENVI、Photoshop、SpeedTree、ArcGIS、MicroDEM、WordMachine、SandBox以及Flash等。系统基于Win7平台,采用Visual Studio 2010、Lua等进行组合开发。系统实现了对地形、植被、移动实体、人物以及天气等的建模与模拟。
虚拟地形环境的构建采用遥感影像和计算机辅助设计(computer aided design, CAD)地形数据,经过数字高程模型构建并转换成灰度图,同时利用高分遥感影像构建地表纹理,最后在CryEngine中对两者进行集成,并通过地形编辑完成对地形的精细化处理。
原型系统完成了对植被的精细化建模与动态模拟。由于受到计算机资源和图形渲染能力的影响,传统的植被建模通常采用十字交叉面片的方式完成,其逼真程度非常低。本文所构建的植被模型通过区分主干、枝头和叶子等分别构建,大大提高了植被的逼真程度。在植被构建过程中,采用传统3D建模技术和快速建模技术两条途径。最终形成的模型支持动态模拟,包括投射阴影,以及受风场的影响做摆动动作。
建筑物基础模型全部采用传统的建模方法构建,而后通过对模型的优化、模型导入、材质纹理导入和模型的再组合等步骤将模型的格式转换成CryEngine所支持的类型。
环境集成渲染中,实现了对环境光照、风、雨、雪等天气的模拟,实现动态环境变化效果。
-
系统完成后,构建的模型和程序大小共9.8 G。三维图形计算机CUP为i5,八核,主频3.2 GHz,内存8 G,显卡为GTX680,120 G固态硬盘及2T SATA硬盘。全部系统运行平均帧速为40帧左右。相比于基于OpenSceneGraph[9]、GeoGlobe[10]、SuperMap Object[11]等构建的面向地理学研究的虚拟环境系统,以及基于Vega[12]、Unity3D[13]等专业虚拟环境开发平台构建的虚拟环境系统来说,本文原型系统更加优美逼真,尤其在光照、阴影、流水等动态表达上优势明显,能够显著提升虚拟环境的逼真性。
原型系统运行效果如图 6所示。其中图 6(a)~6(h)分别为地形、植被、水体、光照、下雨、雨天地面积水、下雪、刮风等可视化及模拟效果。图 6(i)、6(j)是人物群体动作模拟效果。图 6(k)、6(l)是真实环境照片与虚拟环境效果的对比,从中可看出本文虚拟环境与真实环境相似度很高。
-
本文首次将CryEngine应用到虚拟地理环境构建中,研究了系统构建框架,重点解决了三维地形环境重建、车辆建模与行为模拟、人物角色建模与行为模拟、场景集成与渲染等关键技术与方法,并将其集中应用到虚拟校园原型系统中。从原型系统运行结果来看,系统运行流畅、画面精美,与现有虚拟地理环境相比,在逼真性方面有着显著的提升。从结果来看,基于CryEngine的虚拟地理环境能够大幅度提升虚拟场景的逼真性,同时能够很好地将环境、实体和人物有机集成,形成高逼真耦合表达虚拟环境系统。
本文是针对小尺度环境精细表达与模拟,其优良的性能与高逼真表达的效果表明,基于CryEngine开展城市环境虚拟重建、人物角色模拟、虚拟战场表达等小尺度虚拟地理环境研究是可行的。但是,在面向科学计算的虚拟地理环境表达以及大尺度环境可视化方面,还需要深入研究,以确定其是否能够适用。这将成为下一步研究的内容。
-
摘要: 尝试采用新一代图形引擎CryEngine实现小尺度条件下多要素耦合与逼真表达,探索基于该引擎的虚拟地理环境构建方法,包括虚拟地形环境的快速构建方法、车辆建模与动态模拟方法、人物建模与智能行为模拟方法,以及场景集成与渲染方法等。以虚拟校园为原型系统,验证所提方法的可行性以及可视化效果,结果表明,基于CryEngine构建虚拟地理环境路线可行,尤其在面向小尺度虚拟环境时,能够很好地将环境、实体和人物紧密耦合在一起,且其逼真程度较现有虚拟环境有大幅度提升。Abstract: It is a challenge of integrating environment, entities and human in a high fidelity virtual geographic environments (VGE), because of the complexity of the geo-phenomena, large volume of geo-spatial data, and the limitation of computer resource. We try to resolve this challenge discussed in this paper by utilizing a serious game engine, which is CryEngine, for small scale virtual environments. Methodology of CryEngine based construction of VGE is discussed. Meanwhile, several key technologies are involved, which are efficient re-construction of terrain, vehicle re-construction and dynamic simulation, human modeling and behaviors simulation, and virtual environments integration and rending respectively. A prototype of virtual campus is constructed to test the reasonability of developed methods and technologies. The result reveals that it is much reasonable to build a CryEngine based VGE to integrate environment, entities and human. The result also shows that CryEngine based VGE is of high fidelity compared with most existing virtual environments, especially for detail visualization and rendering in small scale.
-
Key words:
- CryEngine /
- virtual geographic environments /
- modeling /
- simulation /
- fidelity
-
[1] Xu Bingli, Lin Hui, Chiu Longsang, et al. Collaborative Virtual Geographic Environments:A Case Study of Air Pollution Simulation[J]. Information Sciences, 2011, 181(11):2231-2246 doi: 10.1016/j.ins.2011.01.017 [2] 龚建华, 林珲.虚拟地理环境-在线虚拟现实的地理学透视[M].北京:高等教育出版社, 2001 Gong Jianhua, Lin Hui. Virtual Geographic Environments-Geographic Perspective of Online Virtual Reality[M]. Beijing:High Education Press, 2001 [3] Lin Hui, Chen Min, Lv Guonian. Virtual Geographic Environment:A Workspace for Computer-Aided Geographic Experiments[J]. Annals of the Association of American Geographers, 2013, 103(3):465-482 doi: 10.1080/00045608.2012.689234 [4] 林珲, 徐丙立.关于虚拟地理环境研究的几点思考[J].地理与地理信息科学, 2007, 23(2):1-7 http://www.cnki.com.cn/Article/CJFDTOTAL-DLGT200702001.htm Lin Hui, Xu Bingli. Some Thoughts on Virtual Geographic Environments[J]. Geography and Geo-Information Science, 2007, 23(2):1-7 http://www.cnki.com.cn/Article/CJFDTOTAL-DLGT200702001.htm [5] 唐丽玉, 林定, 黄洪宇, 等.基于虚拟植物的幼龄杉木生长模拟[J].地球信息科学学报, 2012, 14(5):569-575 doi: 10.3724/SP.J.1047.2012.00569 Tang Liyu, Liu Ding, Huang Hongyu, et al. Growth Simulation of Young Chinese Fir Based on Virtual Plant[J]. Journal of Geo-information Science, 2012, 14(5):569-575 doi: 10.3724/SP.J.1047.2012.00569 [6] 尹小君, 赵庆展, 宁川, 等.城市虚拟地理环境的研究与实现[J].计算机应用与软件, 2011, 28(5):91-93 http://www.cnki.com.cn/Article/CJFDTOTAL-JYRJ201105028.htm Yin Xiaojun, Zhao Qinzhan, Ning Chuan, et al. Research and Realization of City Virtual Geographic Environments[J]. Computer Applications and Software, 2011, 28(5):91-93 http://www.cnki.com.cn/Article/CJFDTOTAL-JYRJ201105028.htm [7] 胡碧松, 龚建华, 曹务春, 等.协同疾病监测与处置系统的设计与实现[J].计算机工程, 2009, 35(22):10-12 http://www.cnki.com.cn/Article/CJFDTOTAL-JSJC200922007.htm Hu Bisong, Gong Jianhua, Cao Wuchun, et al. Design and Implementation of Collaborative Epidemical Surveillance and Response System[J]. Computer Engineering, 2009, 35(22):10-12 http://www.cnki.com.cn/Article/CJFDTOTAL-JSJC200922007.htm [8] Herrlich M. A Tool for Landscape Architecture Based on Computer Game Technology[C]. The 17th International Conference on Artificial Reality and Telexistence, Esbjerg, Denmark, 2007 [9] 徐丙立, 林珲, 朱军, 等.面向珠三角空气污染模拟的虚拟地理环境系统研究[J].武汉大学学报·信息科学版, 2009, 34(6):636-640 http://ch.whu.edu.cn/CN/abstract/abstract1336.shtml Xu Bingli, Lin Hui, Zhu Jun, et al. Construcion of a Virtual Geographic Environment for Air Pollution Simulation in Pearl River Delta[J]. Geomatics and Information Science of Wuhan University, 2009, 34(6):636-640 http://ch.whu.edu.cn/CN/abstract/abstract1336.shtml [10] 陈静, 袁思佳, 曾方敏.三维虚拟地球中有源洪水淹没分析算法[J].武汉大学学报·信息科学版, 2014, 39(4):492-495 http://ch.whu.edu.cn/CN/abstract/abstract2968.shtml Chen Jing, Yuan Sijia, Zeng Fangmin. Virtual Globe-Based Source Flood Submergence Analysis Algorithm[J].Geomatics and Information Science of Wuhan University, 2014, 39(4):492-495 http://ch.whu.edu.cn/CN/abstract/abstract2968.shtml [11] 张波, 秦宇, 郝千婷, 等.水污染事故水质时空模拟和动态调控仿真系统研究[J].武汉大学学报·信息科学版, 2013, 38(9):1108-1112 http://ch.whu.edu.cn/CN/abstract/abstract2755.shtml Zhang Bo, Qin Yu, Hao Qianting, et al. The Research of Temporal-Spatial Simulation and Dynamic Regulation System of Water Quality on Sudden Water Pollution Accidents[J].Geomatics and Information Science of Wuhan University, 2013, 38(9):1108-1112 http://ch.whu.edu.cn/CN/abstract/abstract2755.shtml [12] Yang S, Fu Y, Zhang P, et al. Implementation of a Rule-Based Expert System for Application of Weapon System of Systems[C]. The Mechatronic Sciences, Electric Engineering and Computer (MEC), Shenyang, China, 2013 [13] Zamberlan M, Santos V, Streit P, et al. DHM Simulation in Virtual Environments:A Case-Study on Control Room Design[J]. Work:A Journal of Prevention, Assessment and Rehabilitation, 2012, 41:2243-2247 https://www.ncbi.nlm.nih.gov/pubmed/22317048 -