▲点击关注,收获更多GIS精彩

游戏地图在游戏中起基础和关键作用,它承载游戏中的各种资源,是游戏系统中非常重要的组成部分(图1),所以游戏通常具有明显的地理意义。因此,虽然三维GIS与游戏引擎是两个不同的领域,但两者是有联系的。

游戏地图一般是虚构,虽然可以体现故事发生的时代、地域、文化特点和人物生存氛围,但毕竟不是真实的地理环境,也不具有真实的地理坐标。那么,三维GIS技术是否能将具有真实地理坐标的GIS数据载入游戏引擎?如何在游戏中构建一个与真实世界一致的数字孪生地理空间,让游戏故事发生在真实的地理环境中?

图 1 影视级游戏画面(图片转载自虚幻引擎)

其实,早在2018年年底立项时,超图就开始着手研究游戏引擎和GIS对接。2020年6月,我们在达索系统台湾3D体验高峰论坛上,与Unreal Engine的参会人员探讨了三维GIS与游戏引擎结合的可能性,大家都看好其潜在的市场空间。

超图在做这样一个尝试,通过在游戏引擎中实现一款三维GIS插件,实时载入大规模真实地理坐标系下的地形、影像、倾斜摄影模型、激光点云、手工建模数据、BIM模型等多源异构的地理空间数据,打通三维GIS与游戏引擎的跨界融合,将具有真实地理坐标的室外地理环境、室内BIM模型、实时的IoT数据等融合到游戏引擎,构建一个室内/室外一体化、宏观/微观一体化、空天/地表/地下一体化的数字孪生平行世界。

01打通三维GIS与游戏引擎的跨界融合

• 在游戏引擎实现GIS数据的可视化

基于S3M标准,游戏引擎可动态加载大规模的、多源异构的、在线/离线的3D GIS数据,包括倾斜摄影模型、激光点云、手工建模数据、BIM模型等(图2-3)。同时,基于超图提供的三维GIS插件,游戏引擎还支持动态加载地形、影像数据。此外,超图还在游戏引擎中增加了三维地球,支持展示本地/在线的地形、影像数据(图4)。这些数据不仅提供室外地理环境信息,如地形、地物(水系、居民地、交通、地貌、植被等地理要素),还提供建筑内部信息以及物联网实时信息等,为游戏引擎提供了具有真实坐标的三维地理底图,可支撑创建与现实一致的、虚拟孪生的平行世界。

图 2 Unreal Engine4通过SuperMap GIS动态加载本地/在线的3D GIS数据

图 3 Unity通过SuperMap GIS动态加载本地/在线的3D GIS数据

图 4 Unreal Engine4通过SuperMap GIS动态加载全球尺度的地形/影像数据

在游戏引擎中实现GIS分析与查询能力

基于超图提供的三维GIS插件,不仅可以在游戏引擎中查询真实地物的属性信息,如图5,还可以进行模型的实时剖切分析和地形等值线分析,如图6-7。另外,超图也在尝试将更多的三维空间分析能力引入到游戏引擎中,比如:通视分析、可视域分析、阴影率分析等。这些实用的数据处理和操作工具,可为城市规划、智慧城市、数字孪生城市等提供决策支持。

图 5 在Unity中对精模进行选中并查询属性信息

图 6 在Unreal Engine4中对BIM模型进行实时剖切分析

图 7 在Unity中进行地形等值线分析

基于开放的S3M数据格式标准和数据服务接口标准,打造“三维GIS+游戏引擎”的开放的、可持续发展的生态圈

通过支持S3M数据格式标准和数据服务接口标准,游戏引擎可以直接加载本地、在线的GIS数据。通过S3M数据格式标准,更多的游戏引擎,如:Ventuz,能加载S3M格式的GIS数据(图8),可将GIS数据作为游戏的底图,实现三维GIS与游戏引擎的跨界融合。基于S3M服务接口标准,游戏引擎还可以对接在线服务,在线访问公共服务或数据服务,可实现数据的开放、共享和互操作。

图 8 Ventuz游戏引擎加载S3M格式的GIS数据

02 基于三维GIS数据和游戏特效搭建各种仿真场景

图 9 游戏地图的纵向结构

根据ICT技术(Information Communications Technology,信息与通信技术)的组织框架和面向对象的规则,游戏地图可以分为三层,包括操作层、地形层和地图文件配置层(图9)。其中,操作层是面向用户的,包括各种物理特效、天气、光影等信息,属于动态活动层。地形层是承上启下交互的纽带,包括地表、地物、生物,属于资源支撑层。

基于超图提供的三维GIS插件,我们可以将本地/在线、具有真实地理坐标的GIS数据动态加载到游戏引擎中,作为游戏的地形层。在地形层上,添加游戏引擎中的各种角色和特效,就可以渲染构建面向用户的仿真场景,即操作层。如图10所示,基于三维GIS数据和游戏特效搭建的应急仿真场景,可用于对灭火救援等应急场景的模拟仿真。如图11所示,基于倾斜摄影模型和游戏特效的虚拟战场仿真,可用于模拟作战实地演练。

图 10 在Unreal Engine4中基于三维GIS数据与游戏特效搭建的应急仿真场景

图 11 在Unity中基于倾斜摄影模型和游戏特效的虚拟战场仿真

03 我们提供什么样的产品?

在产品层面,超图提供了基于Unreal Engine和Unity的两款三维GIS插件,它们被统一命名为超图三维GIS游戏引擎开发包(SuperMap Scene SDKs for game engines)。它是基于超图新一代三维GIS技术,与游戏引擎深度集成的一款可编程、可扩展、可定制的开发包,提供炫酷、实用、游戏级的三维体验。

SuperMap Scene SDKs 10i(2020) for game engines的正式版预计在11月底发布,会具有上文提到的GIS数据可视化能力、GIS分析和查询能力。并且,SuperMap GIS后续版本还计划提供场景制作工具链和更多的分析能力,场景工具链是从游戏引擎到GIS进行场景制作的工具链,其中,GIS提供真实坐标系下的点、线、面、体数据,游戏引擎为这些数据赋予更炫酷的材质。更多精彩内容敬请期待!

借助于游戏引擎三维GIS开发包,游戏引擎可以直接接入大规模真实地理坐标的GIS数据以及支持GIS分析和查询能力,为制作真实场景的游戏提供支撑,助力国防、自动驾驶、数字孪生城市等更多的行业。反过来,地理信息产业应用,也可以利用游戏引擎在可视化表现和三维渲染方面的超强能力,制作大屏等炫酷的效果,改善用户视觉体验,为更多用户带来身临其境、更具交互性、真实感、沉浸感的三维体验。而且,对于GIS用户而言,不需要再重新制作一套新的数据,原来的那套空间数据就可以直接加载到游戏引擎中。

超图希望借助于游戏引擎三维GIS开发包,打造一个游戏引擎与GIS共赢的产品生态,赋能产业发展。

文/三维研发中心 何倩 冯振华

unity三维地图的经纬度如何在二维地图上表示_三维GIS与游戏引擎的跨界融合,打造数字化孪生的平行世界...相关推荐

  1. osg 三维gis开发_三维GIS与游戏引擎的跨界融合,打造数字化孪生的平行世界

    游戏地图在游戏中起基础和关键作用,它承载游戏中的各种资源,是游戏系统中非常重要的组成部分(图1),所以游戏通常具有明显的地理意义.因此,虽然三维GIS与游戏引擎是两个不同的领域,但两者是有联系的. 游 ...

  2. unity三维地图的经纬度如何在二维地图上表示_安全数据分析:数据点—地图—线性回归...

    一次性进群,长期免费索取教程,没有付费教程. 教程列表见微信公众号底部菜单 进微信群回复公众号:微信群:QQ群:460500587 微信公众号:计算机与网络安全 ID:Computer-network ...

  3. unity三维地图的经纬度如何在二维地图上表示_接入C++版本recastnavigation寻路库到Unity/服务端中...

    前言 因为Unity版本的更新迭代,老版本的A*插件在新版本Unity已经无法正常使用,包括一些运行时代码也已经过时,重新接入要花费很多时间,干脆接入一个新的寻路方案吧. 这里选择的是久负盛名的htt ...

  4. 什么是二维数组?二维遍历?Java二维数组制作图片迷宫 使用如鹏游戏引擎制作窗口界面 附带压缩包下载,解压后双击start.bat启动...

    什么是二维数组? 数组当中放的还是数组 int [][] arr=new int[3][2]; 有3个小箱子,每个箱子2个格子. 看结果? int [][] arr=new int[3][2]; Sy ...

  5. skyline三维地图与arcgis二维地图联动

    无论是二维控制三维,还是三维控制二维,都是通过事件来触发,只不过各自的事件有所区别就是了.这里所说的二维,是指arcgis for jsapi,三维指skyline,都是前端的内容. 其中二维控制三维 ...

  6. 01 创建一个二维地图

    随着3.X系列版本新功能的不再增加,终于开始向4.X版本转变,其实说实话还是蛮不想转变的,因为相对于3.X版本的API,4.X版本里面的功能目前为止还是有点少的,但大势所趋,只能硬着头皮转了. 首先, ...

  7. maptalks+three.js+vue webpack项目实现二维地图上贴三维模型

    我们不是走在坑里就是走在前往坑的路上_(:зゝ∠)_ 最终效果如图:(地图上添加一个"三维地图"的toolbar按钮,点击后在二维地图上贴上建好的三维模型点击显示弹框) 以下都在已 ...

  8. arcgis for android(二)显示二维地图

    1.上一节讲了 arcgis for android 入门与提高(一)配置环境https://blog.csdn.net/HB_Programmer/article/details/119967868 ...

  9. Echarts 地图概述及二维地图初始化

    Echarts 可以绘制中国.各省及世界地图,包括二维地图和三维地图,下面就如何生成地图做概要介绍. 1  地图功能概述 Echarts 中,如果需要将区域数据可视化,使用 series 中的地图组件 ...

最新文章

  1. 使用JavaScript调用手机平台上的原生API
  2. Web框架与HTTP协议
  3. 铁汁儿们,现在面试阿里巴巴必考K8S
  4. MindSpore手写数字识别初体验,深度学习也没那么神秘嘛
  5. 分享一个echart 广州地图的demo
  6. 软件测试——测试用例设计方法
  7. java的xsd文件_java – 如何通过相对路径引用本地XSD文件
  8. python制作fnt字体打包工具
  9. python代替按键精灵 游戏内失灵_python游戏脚本之调用按键精灵插件模拟输入(二)...
  10. 【云原生 · Docker】入门篇:安装、镜像加速
  11. 高德地图覆盖自定义瓦片图
  12. gnuplot画图技巧总结
  13. ORA-00054 资源正忙
  14. Java 结构化数据处理开源库SPL,再也不用苦哈哈写SQL了
  15. item_search_coupon-淘宝优惠券查询接口获取方案
  16. 音频转文字怎么操作?快来看看这几个方法吧
  17. 持续盈利背后:同程艺龙的下沉术
  18. LabVIEW 2012中的收藏选板导入到LabVIEW 2013
  19. 定义html表格的大小和位置,点晴OA工作流表单设计:表格table及宏控件的HTML、CSS、字体参数教程详解...
  20. 男女稳定匹配问题——贪心

热门文章

  1. quill富文本编辑器自定义图片上传
  2. windows 创建密码重置盘,防止忘记密码
  3. AprilTag中TAG_36h11系列识别速率与准确性(VISP)
  4. 【工具】在TTF字体中提取想要的文字,让字体文件变迷你
  5. 分析师分析业务维度,附(个人制作分析思维导图Xmind)
  6. Linux常用命令:
  7. 8.1 正弦波振荡电路(1)
  8. 微信小程序和ssm交互
  9. Unity zip解压和压缩
  10. 调整字体像刻在下面图层上的方法