【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

相关推荐
爱写代码的山山1 天前
虚幻蓝图解决抗锯齿方案
游戏·ue5·游戏引擎·虚幻·抗锯齿化
Deveuper1 天前
UE5 Niagara 粒子远处闪烁解决
ue5
▍ 小太阳 ☼1 天前
UE5打组后GroupActor重命名不了
ue5
快下雨了L2 天前
UE5TSubclassOf模板,定时器的使用,SpawnActor函数的使用,SetStaticMesh函数的使用
ue5
Zhichao_972 天前
【UE5 C++课程系列笔记】30——自动拷贝DLL及其他资源
c++·ue5
Bluesonli3 天前
第 16 天:游戏 UI(UMG)开发,打造主菜单 & 血条!
学习·游戏·ui·ue5·虚幻·unreal engine
不浪brown3 天前
开源!Cesium视频投射,手把手教你如何让实时视频流“长”在三维地球里!
cesium
Bluesonli5 天前
第 14 天:UE5 C++ 与蓝图(Blueprint)交互!
c++·游戏·ue5·交互·unreal engine
整点可乐6 天前
cesium热力图曲面简单实现,使用heatmap
前端·cesium
不浪brown8 天前
应急指挥&污染扩散模拟 | Cesium 多边形动态扩散墙实战教程(附源码)
前端·cesium