无人机的空投箱
目前,我国实现了使用无人机在高海拔地区进行物资投送,无人机只用了30分钟就走完原先需要3天才能走完的路程,让战士们吃上了热乎乎的火锅。充分体现了无人机在物资投送中的快捷和便利。
近年,智慧城市、数字孪生大热,三维引擎就成为了绕不过去的一个词,但是目前市场的的三维引擎多的让人头晕目眩,他们各自都有哪些优缺点呢,今天我们就来盘点下主流的三维引擎。
常见的三维引擎按平台可分为客户端三维引擎,Web端三维引擎,因为现在的信息化系统开发大多走的是B/S的路线,今天我们重点介绍下Web端三维引擎。Web端的三维引擎目前在国内应用比较多的主要有Three.js、Babylon.js、Cesium.js等,这些B端的三维引擎几乎基于WebGL而开发的三维引擎,而webGL又是OpenGL ES的B端API封装集。这些B端引擎他们都有各自的应用场景,比如Three.js用于做效果展示,可以做中小型的重表现的Web项目。国内用的比较多,也有全面的学习资料,完全可以比较系统的学习。Babylon.js主要用于游戏开发,适合做中大型项目,尤其是多种媒体混杂的或者是游戏VR体验项目,功能较为全面、丰富、灵活,模型显示不失真。Cesium.js主要用于GIS开发。Cesium是一个用于显示三维地球和地图的开源js库,它可以用来显示海量三维模型数据、影像数据、地形高程数据、矢量数据等等。优点是开源、GIS特性比较强、扩展性较强。这三者都是基于JavaScript的开源三维引擎。
Three.js支持的格式有:stl、obj、FBX、gltf格式(主要格式)
Babylon.js 支持的格式有:gltf、obj、stl、babylon
Cesium.js支持的格式有:glb、gltf、3d tiles(后面两个官方推荐)
按引擎用途分的话,三维引擎主要分为游戏引擎和GIS引擎,但是因为游戏引擎强大的渲染能力可以带来更好的可视化效果,很多数字孪生公司也采取了游戏引擎的技术路线。游戏引擎常见的有UE4、U3D。GIS引擎除了大家常见的Cesium.js和ArcGIS,目前国内也是百花齐放,出现了数十种应用非常广泛的三维GIS引擎,其中市场占有率比较高的有超图软件supermap系列和中地mapgis系列。
UE4支持模型格式:FBX、OBJ、Uasset
U3D支持模型格式:FBX 、 OBJ、dae、3ds、dxf
现在也出现了GIS和游戏引擎融合的趋势,比如CesiumJS和ThreeJS可以融合,因为它们都是WebGIS,都是同一种语言JavaScript,都是同一种三维引擎WebGL。两者结合增强了三维GIS的外在表现能力,它可以更好的展现地理数据(DEM DOM 单体化等等),传统GIS在三维数据的表达层面没有游戏引擎来的真实,但同时游戏引擎也有自身的缺陷,比如游戏引擎对于海量数据的加载优化问题。但是GIS和游戏引擎毕竟面向的行业不同,传统的GIS行业围绕的是地图交互、地理数据分析、研判、决策、规划,而游戏引擎更注重渲染效果的真实性,目前它们的融合和错位也是智慧城市和数字孪生发展的一个探索阶段。
文末附上目前市场上主流的三维图形库
商用收费:ArcGIS Engine、superMap、U3D、OverDrive、Hightopo
免费开源:Ossimplanet、Wings 3D、OGRE、Cesium、OSG、OPEN CASCADE、Potree、SceneJS、Three.js、BabylonJS