RedZero9 发表于 2022-5-10 19:48

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处理的地形数据
都看到这里了,加个技术交流群一起组队研究呗^^

XGundam05 发表于 2022-5-10 19:56

[赞][赞][赞][赞]

七彩极 发表于 2022-5-10 19:59

[赞][赞][赞][赞]

maltadirk 发表于 2022-5-10 20:00

[赞][赞][赞]大佬,能写写使用Cesiumlab导入到Cesium for Unreal的一些问题吗

unityloverz 发表于 2022-5-10 20:05

所以还是依赖于lab,如何在不购买lab授权、离线Linux环境中实现服务呢

fwalker 发表于 2022-5-10 20:12

可以研究研究,他是标准格式,既然Cesiumlab能搞定,相信你也能搞定。PS:如果搞定一定要告诉我![握手]

RhinoFreak 发表于 2022-5-10 20:20

可以问问楼下,我也是新手

Mecanim 发表于 2022-5-10 20:30

技术交流群怎么加

DungDaj 发表于 2022-5-10 20:31

这篇文章忘了贴图了,加上了,谢谢提醒

mastertravels77 发表于 2022-5-10 20:35

能分享一下地形和影像转换后的文件吗?我这边加载失败,怀疑是资源问题,谢谢.[发呆]
页: [1] 2 3
查看完整版本: Cesium for Unreal加载本地影像和地形