Cesium for Unreal加载本地影像和地形
之前有文章介绍如何加载本地3D Tiles,这篇文章介绍如何加载本地影像和地形数据。准备工作
[*]安装了虚幻引擎(至少4.26或更高版本)和Cesium for Unreal(1.2.1或者更高版本)。
[*]安装最新的Cesiumlab 2.3.8版本
[*]准备本地影像和地形数据(影像可以用Cesiumlab自带的工具下载天地图,地形数据可以到地理空间数据云下载)
如果您才接触Cesium for Unreal,建议先学习(一)Cesium for Unreal快速入门(译)教程。创建新的Cesium for Unreal关卡
由于本教程是从本地加载影像和地形,所以不用连接Cesium ion。创建新的空关卡,添加CesiumSunSky、FloatingPawn(新版本废弃了,建议用DynamicPawn)和空的Cesium3DTileset Actor。
加载本地地形
运行Cesiumlab,打开分发服务->地形服务,查看地形服务的url和经纬度范围,接下来会用到。
选中自动创建的CesiumGeoreference,将经纬度调整为地形数据所在的区域。比如本文下载的是地理空间数据云里的SRTMDEMUTM 90M高程数据,编号为1的,标识为utm_srtm_58_08,大概经纬度为:经度=107.052831,维度=22.01823。
选中刚才创建的空白Cesium3DTileset Actor,Detail面板中修改Url为Cesiumlab里,地形服务的url,比如我这里为
http://localhost:9000/terrain/19c427c0c22b11ebbd3af738010b8f56/layer.json这时界面就应该能看到白色的地形了:
加载本地影像
Cesium for Unreal目前只支持TMS协议的影像数据,还好Cesiumlab 2.3.8版除了提供默认的WMTS标准,也新增了TMS标准。发布影像服务时,需要点击一下TMS按钮,记录地理范围和级别,接下来会用到:
选中Cesium3DTileset Actor,在Detail面板中点击Add Component按钮,搜索Cesium,选择Cesium Tile Map Service Raster Overlay:
保持CesiumTileMapServiceRasterOverlay为选中状态,修改Url为之前记录的Cesiumlab里影像服务的TMS地址:
http://localhost:9000/image/tms/b4f29300b20c11ebb60c95cae837500b/tilemapresource.xml这时,界面没反应,勾选Specify Zoom Levels,修改Min和Max Level为相应的级别:
拉高镜头,就能看到影像了:
如果界面是黑的,可以选中CesiumSunSky,调整时区和时间。
资源链接
[*]UE加载CesiumLab处理的影像数据
[*]UE加载CesiumLab处理的地形数据
都看到这里了,加个技术交流群一起组队研究呗^^ [赞][赞][赞][赞] [赞][赞][赞][赞] [赞][赞][赞]大佬,能写写使用Cesiumlab导入到Cesium for Unreal的一些问题吗 所以还是依赖于lab,如何在不购买lab授权、离线Linux环境中实现服务呢 可以研究研究,他是标准格式,既然Cesiumlab能搞定,相信你也能搞定。PS:如果搞定一定要告诉我![握手] 可以问问楼下,我也是新手 技术交流群怎么加 这篇文章忘了贴图了,加上了,谢谢提醒 能分享一下地形和影像转换后的文件吗?我这边加载失败,怀疑是资源问题,谢谢.[发呆]