留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

利用CryEngine构建虚拟地理环境

徐丙立 荆涛 林珲 杜君 朱刚

徐丙立, 荆涛, 林珲, 杜君, 朱刚. 利用CryEngine构建虚拟地理环境[J]. 武汉大学学报 ● 信息科学版, 2017, 42(1): 28-34. doi: 10.13203/j.whugis20140768
引用本文: 徐丙立, 荆涛, 林珲, 杜君, 朱刚. 利用CryEngine构建虚拟地理环境[J]. 武汉大学学报 ● 信息科学版, 2017, 42(1): 28-34. doi: 10.13203/j.whugis20140768
XU Bingli, JING Tao, LIN Hui, DU Jun, ZHU Gang. CryEngine Based Virtual Geographic Environments Construction[J]. Geomatics and Information Science of Wuhan University, 2017, 42(1): 28-34. doi: 10.13203/j.whugis20140768
Citation: XU Bingli, JING Tao, LIN Hui, DU Jun, ZHU Gang. CryEngine Based Virtual Geographic Environments Construction[J]. Geomatics and Information Science of Wuhan University, 2017, 42(1): 28-34. doi: 10.13203/j.whugis20140768

利用CryEngine构建虚拟地理环境

doi: 10.13203/j.whugis20140768
基金项目: 

国家自然科学基金 41271402

国家973计划 2015CB954103

省部共建黄河中下游数字地理技术教育部重点实验室开放基金 GTYR2011002

详细信息
    作者简介:

    徐丙立, 博士, 副教授, 主要从事虚拟地理环境及其军事应用以及战场环境仿真等方面的研究。xublmail@126.com

    通讯作者: 林珲, 博士, 教授。huilin@cuhk.edu.hk
  • 中图分类号: P208

CryEngine Based Virtual Geographic Environments Construction

Funds: 

The National Natural Science Foundation of China 41271402

the National 973 Program of China 2015CB954103

Open Research Funding of the Key Laboratory of Geospatial Technology for Middle and Lower Yellow River Regions, Ministry of Education GTYR2011002

More Information
    Author Bio:

    XU Bingli, PhD, associate professor, specializes in virtual geographic environments and the applications in military area, system simulation.xublmail@126.com

    Corresponding author: LIN Hui, PhD, professor.huilin@cuhk.edu.hk
图(6)
计量
  • 文章访问数:  1135
  • HTML全文浏览量:  73
  • PDF下载量:  343
  • 被引次数: 0
出版历程
  • 收稿日期:  2015-02-27
  • 刊出日期:  2017-01-05

利用CryEngine构建虚拟地理环境

doi: 10.13203/j.whugis20140768
    基金项目:

    国家自然科学基金 41271402

    国家973计划 2015CB954103

    省部共建黄河中下游数字地理技术教育部重点实验室开放基金 GTYR2011002

    作者简介:

    徐丙立, 博士, 副教授, 主要从事虚拟地理环境及其军事应用以及战场环境仿真等方面的研究。xublmail@126.com

    通讯作者: 林珲, 博士, 教授。huilin@cuhk.edu.hk
  • 中图分类号: P208

摘要: 尝试采用新一代图形引擎CryEngine实现小尺度条件下多要素耦合与逼真表达,探索基于该引擎的虚拟地理环境构建方法,包括虚拟地形环境的快速构建方法、车辆建模与动态模拟方法、人物建模与智能行为模拟方法,以及场景集成与渲染方法等。以虚拟校园为原型系统,验证所提方法的可行性以及可视化效果,结果表明,基于CryEngine构建虚拟地理环境路线可行,尤其在面向小尺度虚拟环境时,能够很好地将环境、实体和人物紧密耦合在一起,且其逼真程度较现有虚拟环境有大幅度提升。

English Abstract

徐丙立, 荆涛, 林珲, 杜君, 朱刚. 利用CryEngine构建虚拟地理环境[J]. 武汉大学学报 ● 信息科学版, 2017, 42(1): 28-34. doi: 10.13203/j.whugis20140768
引用本文: 徐丙立, 荆涛, 林珲, 杜君, 朱刚. 利用CryEngine构建虚拟地理环境[J]. 武汉大学学报 ● 信息科学版, 2017, 42(1): 28-34. doi: 10.13203/j.whugis20140768
XU Bingli, JING Tao, LIN Hui, DU Jun, ZHU Gang. CryEngine Based Virtual Geographic Environments Construction[J]. Geomatics and Information Science of Wuhan University, 2017, 42(1): 28-34. doi: 10.13203/j.whugis20140768
Citation: XU Bingli, JING Tao, LIN Hui, DU Jun, ZHU Gang. CryEngine Based Virtual Geographic Environments Construction[J]. Geomatics and Information Science of Wuhan University, 2017, 42(1): 28-34. doi: 10.13203/j.whugis20140768
  • 虚拟地理环境是现实环境和虚构环境在计算机中的映射与重建[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对其进行实现。

      图  1  基于CryEngine的虚拟地理环境构建基本框架

      Figure 1.  Framework of CryEngine Based VGE Construction

      该技术框架能够很好地契合虚拟地理环境对数据集成、过程模型集成和可视化表达的总体要求。

    • 数据集成包括数据格式转化和数据组织。各种原始的数据并不能直接成为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中,利用地形编辑器对局部突变进行适当平滑和修整,从而得到最终的虚拟地形。

      图  2  CryEngine下虚拟地形构建技术路线

      Figure 2.  Virtual Terrain Reconstruction

      地表纹理的构建与贴图是虚拟地形环境构建的另一项重要内容。对于大区域地形环境来说,地表纹理可以依托高分辨率遥感影像来完成。对于需要精细化的局部区域,则可以通过现场拍摄照片来获取。然后在CryEngine环境下,利用地表材质和纹理画刷实现对地表纹理的修整。

      对于地表道路的构建,则是通过CryEngine提供的可视化道路生成工具来实现。需要将遥感影像导入到虚拟地形环境中,利用道路编辑器,沿着道路的中心线直接描绘,同时给出道路的宽度、边沿属性和纹理等基本信息即可。

    • 车辆的建模与模拟已经不是新问题,但还存在许多有待改进之处,比如,缺乏车辆行为的合理性与外在表现的有机统一,车辆模拟往往需要复杂的程序开发,缺少简单且直观化的可视化编辑环境等。本文通过分部件建模、部件关系脚本限制以及车辆物理行为可视化控制等方法,很好地解决了以上问题。

      本文面向CryEngine的车辆建模与模拟的技术路线如图 3所示。在模型构建时,对车的外壳等固定部件和车轮等活动部件分开处理,并通过脚本文件对部件的依附关系和运行参数进行限定,使得车辆的性能和行为符合其固有的物理特性。经过以上处理之后,即形成了一个完整的车辆模型。而车辆在运动过程与地形的匹配和对周围环境的破坏与影响则需要通过在虚拟环境中的可视化模拟方法来完成。

      图  3  CryEngine下车辆建模与模拟技术路线

      Figure 3.  Vehicle Modeling and Simulation

      本文主要完成对车辆位置、速度、方向、方位、姿态的实时计算,以及其与外界环境(如道路)的交互模拟研究。车辆的行为模拟主要通过两种方法完成,即智能体模拟和外界控制。智能体模拟借助于人工智能的方法,通过物理模型的集成实现对车辆状态和行为的控制与模拟。而外界控制方法则通过外界的输入设备,如方向盘,实现对车辆的运动控制。同时,两种方法能够紧密耦合,即利用外界控制来驱动车辆运动,而车辆的姿态以及其与环境之间的相互作用则借助于智能体模拟方法完成。

    • 人物的模拟需要解决两个核心问题,即人物的模型构建以及行为的模拟。本文对人物的建模分为三步:(1)构建人物基础模型,即经过轮廓构建、骨骼蒙皮、多维材质编辑等步骤后,形成基础人物外形模型。(2)构建人物的动作集,即人物动作的最小单元。比如,一个士兵跑步到长官那里,然后抬手敬礼。这一连贯性动作可以分割成两个动作,一个是跑步的动作,一个是敬礼的动作。在实际的使用中,需要将这两个动作做连贯性驱动。(3)通过将模型和基础动作进行耦合并集成到CryEngine中。以上的角色建模,完成了对人体基本动作的规定,比如跑、跳、爬、举手、抬腿等。这些动作在本文中被称为人体动作。

      本文将与人的主观行为有关的动作称为行为动作。比如,当虚拟环境中的人物从一个点选择适当路径行进到另一个点时,这其中的路线选择、动作触发等行为就是行为动作。行为动作的模拟是通过三维建模方法所解决不了的,必须通过人物的行为控制与模拟的方法完成。本文主要采用两个途径实现:一是通过动作感知技术,将人体的动作及其行为从现实环境中采集过来,直接驱动虚拟环境下人物角色的动作与行为;第二种方法则通过智能体模拟实现对人物的自动控制。两种方法的配合使用,能够更加逼真地实现对人物行为的模拟。上述技术路线可以概括为如图 4所示。

      图  4  人物角色建模与行为模拟技术路线图

      Figure 4.  Role Modeling and Behaviors Simulation

    • CryEngine的环境集成是“所见即所得”的可视化集成方式,即在可视化的三维地形上进行拖拽与放置,然后利用流程控制相关过程。在集成过程中,需要完成物体的位置与比例匹配、参数设置,以及环境渲染等。

      位置与比例匹配是场景集成的一个难点。本文中,位置匹配是通过二维图和三维图的初始对准,而后在三维图中提取模型对象的轮廓,并将该轮廓导入到建模软件中,此时的轮廓模型就具有了三维环境下的位置信息。基于轮廓模型进行精细化建模完毕后,再导入到三维场景中时,其位置将自动匹配到原来的位置上。模型的比例匹配,即模型的大小比例与虚拟环境的比例匹配是实现模型尺寸与环境协调的基础。本文主要采用同一种建模软件下设置实体的单位,然后分割地形地物,最后分别构建的思路完成。

      场景集成的第二个重要工作是环境渲染,包括光照渲染和自然现象渲染。光照渲染是利用CryEngine光照设置编辑器完成的,包括环境光照(如太阳光)和点光源(如灯光)的设置。在太阳光的设置上,为了模拟实际区域的光照氛围,需要设置纬度、太阳路线、黎明与黄昏时间间隙等。对于自然现象渲染,是利用CryEnigine集成的环境参数编辑器完成,包括风速、风向、雾的浓度和颜色、云的效果、水面的波动、天空背景以及光照色度等。

    • 原型系统框架设计如图 5所示,包括数据获取与处理和三维虚拟环境平台。其中,数据获取与处理的主要任务是获取虚拟环境构建所需要的支撑数据,并对其进行处理,处理的结果被用于系统构建所需的各个部分。三维虚拟环境平台是系统的核心,主要分为两大块,即建模部分和模拟部分。建模部分主要完成虚拟环境构建所需要的地形、建筑物、植被、人物和移动实体(如车辆)的三维重建。模拟部分主要完成对各类对象的模拟,包括气候、光照、音效、人物行为、移动实体行为等模拟,以及系统漫游与交互控制等。三维虚拟环境平台的开发是在CryEngine的基础上,结合各种建模软件、Visual Studio 2010、Flash等实现。

      图  5  原型系统框架

      Figure 5.  Framework of the Prototype System

    • 支撑系统实现的技术工具包括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)是真实环境照片与虚拟环境效果的对比,从中可看出本文虚拟环境与真实环境相似度很高。

      图  6  虚拟校园运行效果及虚实对照

      Figure 6.  Effect of Virtual Campus and Compare Between the Real and the Virtual

    • 本文首次将CryEngine应用到虚拟地理环境构建中,研究了系统构建框架,重点解决了三维地形环境重建、车辆建模与行为模拟、人物角色建模与行为模拟、场景集成与渲染等关键技术与方法,并将其集中应用到虚拟校园原型系统中。从原型系统运行结果来看,系统运行流畅、画面精美,与现有虚拟地理环境相比,在逼真性方面有着显著的提升。从结果来看,基于CryEngine的虚拟地理环境能够大幅度提升虚拟场景的逼真性,同时能够很好地将环境、实体和人物有机集成,形成高逼真耦合表达虚拟环境系统。

      本文是针对小尺度环境精细表达与模拟,其优良的性能与高逼真表达的效果表明,基于CryEngine开展城市环境虚拟重建、人物角色模拟、虚拟战场表达等小尺度虚拟地理环境研究是可行的。但是,在面向科学计算的虚拟地理环境表达以及大尺度环境可视化方面,还需要深入研究,以确定其是否能够适用。这将成为下一步研究的内容。

参考文献 (13)

目录

    /

    返回文章
    返回