【UE5 Cesium】15-Cesium for Unreal 加载本地影像和地形

目录

一、加载全球无高度地形

二、加载区域DEM

三、加载离线地图影像


一、加载全球无高度地形

  1. 先去如下网址下载全球无高度地形:Using a global terrain layer without height detail - #9 by RidhwanAziz - Cesium for Unreal - Cesium Community

下载后如下:

解压后可以看到是一个.tif格式的文件

  1. 打开CesiumLab,需要将tif转为3DTiles。

点击"数据处理-》地形切片"

点击"添加"按钮,选择下载的tif文件

存储类型选择"散列",然后选择一个输出路径

点击"提交处理"

等待处理完成:

全部处理完后内容如下,可以看到包含两个.json格式的文件,其中"layer.json"是地形信息,"meta.json"是边界信息

  1. 打开UE,先添加一张地图

再添加"Cesium SunSky"和"Dynamic Pawn"

删除大纲中的"Cesium World Terrain"

删除后可以看到地球表面是光秃秃的

添加一个"Blank 3D Tiles Tileset"

这里在大纲中重命名为"MyWorldTerrain"

在细节面板中,"Source"选择"From Ur","Url"填入的应该是"layer.json"的位置

找到"layer.json"的存储位置,复制绝对路径

"Url"中填入:file:///F:/chaochao/Assets/GEOData/DEM0_SanLie/layer.json【"file:///"+"layer.json"的位置】

此时可以看到一个灰白色的高速为0的地球:

为"MyWorldTerrain"添加一个"Cesium Ion Raster Overlay"组件

在细节面板中将"Ion Asset ID"改为2

此时效果如下:

二、加载区域DEM

  1. 地理空间数据云下载公开的地形数据

点击"高级检索"

点击添加数据集

选择"GDEMV2 30M 分辨率数字高程数据"

这里选择一个城市进行检索

全选该城市所有区域,可以看到由5块区域组成

将这5个区域全部下载下来

下载好后是5个.zip文件

分别进行解压:

每个文件夹内容由"xxx_dem.tif"和"xxx_num.tif"组成

  1. 打开"CesiumLab",选择"地形切片"

分别添加5个文件夹中的"xxx_dem.tif"

存储类型选择"散列",选择一个输出路径,然后点击"提交处理"

等待处理完成

处理结果如下:

  1. 在UE中将"Url"改为上一幅图中"layer.json"的路径

在"CesiumGeoreference"中设置经纬度为成都市的经纬度

设置好后点击如下按钮:

将"DynamicPawn"的位置和旋转改为0

通过在"CesiumSunSky"中设置"Solar Time"使该区域为白天

此时效果如下,可以看到有高度信息

此时运行效果如下所示

三、加载离线地图影像

当第二节做完时,此时的地形虽然是离线,但是地图影像却是在线的,因此断网后并不能正确加载地图

  1. 从水经注上下载的全球7级影像,这里下载的是tif格式
  1. 打开CesiumLab,在"数据处理-》影像切片"的"输入文件"一项中,点击添加下载tif文件

在"处理参数"一栏中,服务类型选择"TMS",投影参数选择"经纬度",瓦片大小默认为256

在"输出文件"一栏中,存储类型选择"散列",选择一个输出路径,最后点击提交处理

等待处理完成

处理完成后文件内容如下:

  1. 在UE中选中"MyWorldTerrain",删除"CesiumRasterOverlay"组件

删除后可以看到此时只有地形数据,没有影像数据

添加一个"Cesium Tile Map Service Raster Overlay"组件

可以看到该组件需要填入一个Url参数,就是本地影像的路径,这里我的是:

file:///F:/chaochao/Assets/GEOData/YinXiang/tilemapresource.xml

此时就完成了影像的离线加载,即使是断网也可以正确显示地图和地形,效果如下,可以看到成都市是有地形的,其它地方没有地形,这是因为在第二节中我们只下载了成都的地形数据

参考视频链接:

Cesium for Unreal 加载本地地形_哔哩哔哩_bilibili

Cesium for Unreal 加载本地地图(TMS)_哔哩哔哩_bilibili

相关推荐
htsitr3 小时前
Cesium的ClearCommand的流程
cesium·clearcommand
心怀梦想的咸鱼5 小时前
UE5 第一人称射击项目学习(四)
学习·ue5
UTwelve12 小时前
【UE5】使用基元数据对材质传参,从而避免新建材质实例
ue5·材质
UTwelve12 小时前
【UE5】在材质中计算模型在屏幕上的比例
ue5·材质
心怀梦想的咸鱼1 天前
UE5 第一人称射击项目学习(二)
学习·ue5
暮志未晚Webgl1 天前
109. UE5 GAS RPG 实现检查点的存档功能
android·java·ue5
心怀梦想的咸鱼1 天前
UE5 第一人称射击项目学习(完结)
学习·ue5
duansamve2 天前
WebGIS地图框架有哪些?
javascript·gis·openlayers·cesium·mapbox·leaflet·webgis
汪洪墩2 天前
【Mars3d】实现这个地图能靠左,不居中的样式效果
前端·javascript·vue.js·3d·webgl·cesium
暮志未晚Webgl3 天前
110. UE5 GAS RPG 实现玩家角色数据存档
java·前端·ue5