场景引擎相关的概念和引擎架构,你了解多少?

场景引擎相关的概念和引擎架构,你了解多少?

传统的CIM应用部署方式是直接在本地计算机上安装程序,但数字孪生行业需要展示多源异构数据,这往往需要计算机具有更高的GPU和运行计算能力(CPU)。 这种方式本地部署存在很多问题,所以多采用网页方式进行场景展示。

目前,常见的3D GIS可视化技术分为两类。 一种是基于Web GL技术的网页,包括cesium、 Threejs等; 另一种是采用游戏级渲染技术,包括UE、Unity等,它们共同构成了数字孪生相关业务场景的空间基础。

1 游戏引擎(高渲染常用引擎)

“游戏引擎”一词出现于 20 世纪 90 年代中期,指的是第一人称射击游戏。 当今强大的游戏引擎(例如 id Software 的 Quake 和 Doom 引擎、Epic Games 的 Unreal Engine 4、Valve 的 Source 引擎和 Unity 游戏引擎)已成为功能齐全、可重复使用的软件开发套件。 几乎所有游戏引擎都包含一组熟悉的核心组件,包括渲染引擎、碰撞和物理引擎、动画系统、音频系统、游戏世界对象模型、人工智能系统等等。 在这些组件中,相对较少的半标准设计替代方案也开始出现。

这次简单介绍一下常见的Unity和UE。 其他相关游戏引擎还包括Quake系列引擎(荣誉勋章:盟军突击等)、DICE的Frostbite(EA使用最广泛的引擎,包括《质量效应》、《战地》、《极品飞车》等)、Cryengine (曾经优化最好的引擎,但战略失误导致其衰落,主要表现在《孤岛惊魂》等)、索尼的PhyreEngine、微软的XNA Game Studio等。本文不再一一赘述。

1.1 虚幻引擎

Epic Games, Inc. 于 1998 年凭借其传奇游戏 Unreal 进军 FPS 领域。 虚幻引擎 4 (UE4) 是最新的演进阶段,拥有业内一些最好的工具和最丰富的引擎功能集,包括用于创建着色器的方便而强大的 GUI 和用于游戏逻辑编程的 GUI。 该接口称为 Kismet。 虚幻引擎以其广泛的功能集和内聚且易于使用的工具而闻名。 UE4是用C++开发的,虽然有蓝图编辑器技术,但大多数开发者都会对其进行各种修改。 Unreal是一个非常强大的原型设计工具和商业游戏开发平台(可以说UE之所以如此广泛的使用是因为其逼真且持久的效果)。 UE4虽然不支持H5,但是可以利用WebAssembly技术发布到Web平台。 UE4目前使用Cesium for Unreal组件来实现游戏引擎和GIS引擎的跨界融合。

应用引擎技术设计游戏有哪些_三维游戏引擎设计技术及其应用_应用引擎是什么

1.2 统一性

Unity是一个强大的跨平台游戏开发环境和运行引擎。 Unity的主要设计目标是促进跨平台游戏的开发和部署。 它提供了一个易于使用的集成编辑器环境,您可以在其中创建和操作游戏世界。 资产和实体,并在编辑器中或直接在目标硬件上快速预览您的游戏。 Unity使用C#开发,对初学者友好。

应用引擎是什么_三维游戏引擎设计技术及其应用_应用引擎技术设计游戏有哪些

1.3 总结

以上两种方式统称为云渲染。 云渲染是高保真云渲染视频流的简称,是内容最终传输的一种载体形式。 这种方法是在服务器上对图像进行计算,然后同步到前端,使其成为当今数字孪生、CIM等的主力军。

云渲染只是将指令的渲染处理放在云服务器上,并使用WebRTC进行视频传输。 终端只需通过网页连接服务器即可操作应用程序并输入指令。 同时,云渲染处理的结果以像素流的形式显示在终端上硬件设备,主要解决轻终端使用的问题。 但它对服务器的要求较高,视频流量带宽会比较大,提供渲染的前端数量非常有限。

三维游戏引擎设计技术及其应用_应用引擎技术设计游戏有哪些_应用引擎是什么

具体可以参考UE发布的技术文档:/4.27/zh-CN/SharingAndReleasing/PixelStreaming/PixelStreamingIntro/

2 GIS引擎(业务平台通用引擎)

GIS 引擎通常用作地理空间数据查看和分析的 3D 引擎。 常见的Web3D引擎包括ArcGis API for JS(本地化称为GeoScence API)、Google Earth、Virtual Earth 3D、Cesium.js、Mapbox等。

除了渲染本身之外,3D GIS引擎还重点关注场景管理、资源调度、空间分析等内容。 与游戏引擎相比,3D GIS引擎的功能较弱。 这里需要强调的是,3D引擎是指只要能够实现3D场景中的MVP矩阵(模型矩阵、视图矩阵、投影矩阵),那么场景就可以实现倾斜、旋转、3D显示等操作,它是三维的。 有人认为“Cesium是唯一的3D GIS引擎,任何使用WebGL渲染的地图引擎都是3D GIS引擎”。 这些都是错误的观点。

2.1 OpenGL、WebGL 和 WebGPU

OpenGL 是一个开放的图形 API。 它的主要作用是对硬件层的封装。 通过这个API,应用层可以控制GPU绘制和渲染图形,这样调用者就不需要担心CPU如何调用GPU、GPU如何分配内存、如何异步处理代码等等。 但它在GIS领域逐渐显露出弱点,主要是不更新,只是一个。 。 。

WebGL(Web Graphics Library)是一个3D绘图协议,是一个基于OpenGL的跨平台、开放、免费的底层JavaScript图形API。 该绘图技术标准允许结合 JavaScript 和 OpenGL ES 2.0。 通过在 OpenGL ES 2.0 中添加 JavaScript 绑定,WebGL 可以在浏览器中为 HTML5 Canvas 提供硬件 3D 加速渲染,而无需使用插件,从而在某些场景中通过计算机本地显卡硬件(GPU)进行渲染。 然而,当用户通过WebGL访问3D数据时,需要在本地加载数据(即在浏览器中进行图形渲染和可视化)。 加载时间因内容和计算机性能而异; 所有数据必须存储在网页上。 计算在最后进行,图片渲染效果比较平均。

应用引擎是什么_三维游戏引擎设计技术及其应用_应用引擎技术设计游戏有哪些

图为WebGL的运行路径

另外,近几年出现的WebGPU也是一种基于Web的图形API。 它的想法是直接封装三个现代图形API,然后实现跨平台实现,同时允许在浏览器中直接调用它们。 三种现代图形API能力可以实现高质量的渲染效果,并调用GPU强大的计算能力。 它可能是取代WebGL的下一代技术。

三维游戏引擎设计技术及其应用_应用引擎是什么_应用引擎技术设计游戏有哪些

这是超地图应用程序WEBGPU完成的渲染2.2。 GIS开发的四大地图框架

三维游戏引擎设计技术及其应用_应用引擎技术设计游戏有哪些_应用引擎是什么

2.2.1 Cesium框架

Cesium是一个主流的开源js库,用于显示三维地球和地图。 基于WebGL渲染机制,支持多种数据格式和规范,具有3D Tiles、KML、GeoJSON等标准,用于创建高效的3D地图应用,如基于对象的操作、地形分析、模型渲染、动态漫游、路径规划等。Cesium提供了一系列的API和工具,可以让开发者快速构建定制的3D地图应用,可以运行在桌面端和移动端(重点是开源可商用,有很多API和文档) ,但过于强调可视化效果)。

三维游戏引擎设计技术及其应用_应用引擎是什么_应用引擎技术设计游戏有哪些

2.2.2 MapBox框架

Mapbox基于WebGL渲染机制,实现二维和三维一体化; 它以墨卡托坐标系作为主要输出,输出高清经纬度矢量图块,其实现的专题地图是最美观的。 主要依靠矢量图块,可以实现底图定制,但其3D API几乎不存在。

2.2.3 Openlayer框架

Openlayer仅支持二维表达。 其二维GIS功能最丰富、最全面,支持全坐标系。 是一款稳定可靠的一体化地图开发脚本。 但请注意,这是一个 2D 引擎,无法执行地图旋转、倾斜、地形显示等操作。不过,最新版本的 OpenLayers 默认使用 WebGL 来渲染地图。

2.2.4 传单框架

Leaflet是一个基于Canvas渲染机制的轻量级地图脚本。 它插件丰富,扩展性强,但一般是针对移动端开发的。

2.2.5 其他

另外,基于WebGL的开源引擎框架还包括Three.js(Three.js是最著名的基于JavaScript语言开发的WebGL库,可以用来创建各种三维场景。它不仅可以用来创建三维地球视图,还可以用来创建各种动画和游戏。Three.js性能优异,最强大的轻量级在线编辑器,并且还拥有大量的社区和论坛支持)、Babylon.js(简单但功能强大的 WebGL 驱动的 3D 图形引擎)、WebGLStudio.js(基于 Web 的开源高级 3D WebGL 编辑器)、A-Frame 等。

详情请参阅这篇文章

/p/605054339

2.3 ArcGis JS API

Arcgis for JS 为开发人员提供了一种将地图嵌入到 Web 业务系统中的方法。 Esri提供的,用户可以实现可视化、空间查询、空间分析等功能,空间分析能力超强。 但也就是说三维游戏引擎设计技术及其应用,arcgis全家桶值得拥有。

应用引擎技术设计游戏有哪些_应用引擎是什么_三维游戏引擎设计技术及其应用

详细可以看老大的博客

/onsummer/p/9080204.html

2.4 虚拟地球3D和Google Earth(巨型)

谷歌在2005年率先推出了Google Earth,微软也在2006年推出了Virtual Earth 3D。这两款软件都构建了一个巨大的虚拟3D环境三维游戏引擎设计技术及其应用,将卫星照片、航空照片和GIS布置在地球的三维模型上。 它可以提供第一人称视角对地球的操作,它的山川河流都有海拔。 卫星图像不仅清晰、更新快,而且在3D建筑显示方面,可以通过叠加SU来搭建仿真模型,然后进行漫游等。 (谷歌的云计算平台Google Earth引擎(GEE)收集海量自然资源数据,包括200多个全球和区域规模的自然资源数据集,并拥有超过500万张卫星遥感图像。)

2.5 其他(不太熟悉,等了解更深了再补充)

(1)Uber的deck.gl也是一个三维地图引擎。 它不具备渲染功能。 渲染模块使用luma.gl。

(2)国内高手做的Maptalk与mapbox类似,其渲染能力依赖于regl。

(3)WorldWind,NASA基于Java和JavaScript技术开发的免费多平台开源3D地球视图引擎。 其核心是将行星表面的自然景观和自然现象以行星模型的形式呈现出来。 WorldWind支持多种数据源,包括NASA卫星数据、OpenStreetMap等,可以实现三维漫游、LOD分类等。

这是开发地址

/p/美国宇航局世界风

(4)OpenWebGlobe,瑞典皇家理工学院开发的基于WebGL技术的开源跨平台三维地球视图引擎。

还有其他的,稍后补充

2.6 总结

做这种Web端引擎,JS和WebGL只是提供了一种在浏览器端进行计算和可视化的技术。 Cesim是主流,但目前这个框架还需要进一步实现一些基础的空间算法。

3 数字孪生引擎(仿真引擎)

随着“数字孪生”概念越来越深入人心(如实景3D中国、CIM城市信息模型基础平台等),在智慧城市、智慧XX等行业应用中,对数字孪生的需求越来越大高保真精细渲染形成的3D场景。 越强。 然而,传统的3D GIS仅关注数据映射和管理。 因此,很多专家学者在这里也提出了很多意见。 提高3D GIS渲染能力的常用方法一是在现有引擎上进行开发,二是GIS与游戏引擎集成。 后者比较常见材质材料,很多公司都押注于此。 这种方法确实可以利用最先进的游戏引擎技术,实现多尺度、地上地下、室内室外、海陆空全空间场景的真实还原。

目前,除了国内GIS厂商基于开源引擎封装的数字孪生引擎外,还有阿里云DataV.CityPro等引擎。

应用引擎技术设计游戏有哪些_三维游戏引擎设计技术及其应用_应用引擎是什么

但笔者认为,游戏引擎与GIS融合形成的数字孪生引擎其实还需要找到一个好的着力点。 它不能仅仅使用UE4进行数据集成显示。 图片好看吗? 在3D可视化方面,确实,游戏引擎与传统3D平台相结合的流媒体视频渲染仍然是主流。 总体来说,还是对静态3D场景的性能提升,缺乏智能应用。 GIS引擎本身是基于三维图形的。 换成游戏引擎有什么意义呢? 开发游戏引擎的目的是为了减少开发工作量。 我们现在是不是应该思考游戏引擎的加入如何能够提高开发方的效率呢? UE等引擎是否满足现阶段提出的自主可控信息创新要求,必须打折扣。

4 个人意见

数字孪生不应该只是视觉演示,而需要发挥辅助决策和推演未来的作用。 数字孪生的终端形态可以借鉴游戏引擎等技术,但它不应该只是“数据大屏”的呈现,更重要的是要管理业务数据、推演未来、提供解决方案。 实现真正的虚实结合。

作者最近一直在做交通相关的场景,个人认为这种场景可以利用GIS搭建一个真实的场景(很难,真实的场景必须是真正可用的,映射到现实的)来复制真实的世界。 然后使用UE进行渲染,以真实的高精度地图、地形、BIM模型等数据作为输入,然后连接一些由真实数据驱动的实体如车辆、人群等,调用基于GeoAI和其他技术做一些自适应算法训练,构建城市交通的数字孪生场景,连接传感器实现动态数据感知,然后结合车辆仿真实现调度方案优化、自动驾驶等。

应用引擎技术设计游戏有哪些_应用引擎是什么_三维游戏引擎设计技术及其应用

应用引擎是什么_三维游戏引擎设计技术及其应用_应用引擎技术设计游戏有哪些

文章来源:https://zhuanlan.zhihu.com/p/644467680