Cesium for Unreal 是一个免费和开源可视化插件,可以将地理空间功能和UE虚幻引擎的高保真渲染功能相结合,解锁了游戏引擎的 3D 地理空间生态系统。(可以在GitHub上下载插件源码,修改后自己打包),能够在虚幻引擎中创建一个全尺寸高精度WGS84地球,通过加载 3dtile 倾斜摄影可以实时运行逼真的真实世界场景,通过与虚幻引擎编辑器、Actor和组件、蓝图以及其他UE功能集成,实现高度还原的物理环境、逼真的光影效果,能够体验到照片级别的真实感,创造令人惊叹的体验。
同样的还有ArcGIS SDK For UE,公众号也有文章介绍,可以关注阅读。
在UE 虚幻引擎里用ArcGIS加载一个数字孪生场景(1)对标开源界的Cesium,ArcGIS也有虚幻引擎的插件 ArcGIS Maps SDK for Unreal Engine 可以用来构建数字孪生地图。https://mp.weixin.qq.com/s?__biz=MzIxMTc4OTM3OA==&mid=2247484102&idx=1&sn=35baa68b97b3f769675167f69fbf8961&chksm=974eb1eba03938fdcaf7af35cd0611f2724e71d6f014fcbd577e9d4bab469e5e17c73dbc54e9&scene=178&cur_album_id=3122528301417250819#rd需要注意的是WGS84坐标系是一个椭球坐标系,因此创建的是一个球体,并不是平面,但是UE的物理、灯光等要素都是基于平面环境计算的,因此在非常大的场景下需要考虑这个问题,但是也无须担心,插件自带的 Georeference 结合UE的关卡流送可以很好地解决这个问题,后面也会有文章专门讲解如何创建子关卡进行关卡流送。
Cesium for Unreal 在2023年11月初发布了2.0
版本,目前网上大部分教程是基于 1.0 版本的插件。旧版工程可以自动升级,也可以参照官方的升级手册手动升级。2.0版本与上一版本主要区别在于:
-
支持了 3D Tiles 1.1 里的元数据的读取和设置样式;
-
子关卡的创建方式与之前大有不同,不在使用世界合成;
-
更新了DynamicPawn,新增了一些组件,这些组件也可用于其它Actor;
-
-
新增CesiumOriginShiftComponent组件
-
新增CesiumFlyToComponent组件
-
-
改进了CesiumGeoreference,支持更高精度的位置;
-
新增了CesiumTileExcluder类,可以使用蓝图自定义排除地理要素;
-
集成了谷歌地球倾斜摄影服务;
本教程基于最新的2.0版本,下面就来看看怎么使用吧。
安装与登录
在Epic 虚幻商城中搜索Cesium for Unreal,搜索列表里会有Cesium for Unreal插件、工程示例、VR工程实例,插件是必须安装的,其它可以当作学子资料按需下载。
安装之后,新建蓝图工程,在插件列表里启用cesium插件,重启编辑器之后就可以菜单栏的“窗口”里看到Cesium。点击之后就会打开Cesium面板,在这里面可以加载各种cesium图层和对象。默认是没有登录的,点击蓝色按钮会在浏览器里打开登录授权窗口,没有账号的注册一个即可。
创建一个简单的场景
在Cesium插件面板中,依次点击下图中红色圈出来的对象后面的“+”按钮,就可以把对应的对象添加到UE场景中。
Blank 3D Tileset是用来加载自己的本地数据的,其它几个是Cesium的在线图层服务。
Cesium for UE 插件会在大纲里自动创建三个必需的对象:CesiumCameraManager0、CesiumCreditSystemBP0、CesiumGeoreference0,这三个对象是不可以删除。
加载之后,等一会儿应该就能看到一个地球了。可以使用键盘的 WASD 键四处游览观赏地球了。
设置一些参数
假如我要看北京附近的地图,那么我找到北京的经纬度坐标“116.391822、39.999129”。
-
在大纲视图中选中CesiumGeoreference,在其细节面板中设置Cesium选项卡下的和“Origin Longtitude”和“Origin latitude”。此时地球会定位到这个位置,变成漆黑一片,这是因为CesiumSunSky是晚上,所以看不见亮光。
-
在大纲视图中选中CesiumSunSky在其细节面板中设置Cesium选项卡下的和“Date and Time”中的时区、日期和事件时间。这是后天就会变亮,早晨和傍晚还有霞光效果。
再次欣赏一下虚拟世界里的朝阳
文章是之前发表在公众号的,可以关注一下,获取更加实时的一手资料!!!