【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

相关推荐
ricky6754 天前
[Linux]Linux系统的20个实用命令详解
ue5
AA陈超5 天前
虚幻引擎5 GAS开发俯视角RPG游戏 P05-01.创建游戏玩法标签
c++·游戏·ue5·游戏引擎·虚幻
reddingtons6 天前
场景美术师的“无限画板”:UE5中非破坏性的材质混合(Material Blending)工作流
ue5·材质·设计师·技术美术·游戏策划·游戏美术·substance
m0_552200826 天前
《UE5_C++多人TPS完整教程》学习笔记61 ——《P62 武器开火特效(Fire Weapon Effects)》
c++·游戏·ue5
努力的小钟6 天前
UE5 GAS GameAbility源码解析 EndAbility
ue5
AA陈超6 天前
虚幻引擎5 GAS开发俯视角RPG游戏 P05-04 使用效果应用游戏标签
c++·游戏·ue5·游戏引擎·虚幻
zhangzhangkeji6 天前
UE5 测量 -1,长度测量:P2制作定位球与定位线,P3制作射线检测节点,P4在鼠标位置生成定位球
ue5
新中地GIS开发老师6 天前
Cesium 军事标绘入门:用 Cesium-Plot-JS 快速实现标绘功能
前端·javascript·arcgis·cesium·gis开发·地理信息科学
goodName6 天前
Cesium框选工具的3次进化:从卡顿到精准,我踩过这些坑
cesium
AA陈超7 天前
虚幻引擎UE5专用服务器游戏开发-33 在上半身播放组合蒙太奇
c++·游戏·ue5·游戏引擎·虚幻