• 【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格式的文件

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

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

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

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

    点击“提交处理”

    等待处理完成:

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

    3. 打开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”组成

    2. 打开“CesiumLab”,选择“地形切片”

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

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

    等待处理完成

    处理结果如下:

    3. 在UE中将“Url”改为上一幅图中“layer.json”的路径

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

    设置好后点击如下按钮:

    将“DynamicPawn”的位置和旋转改为0

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

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

    此时运行效果如下所示

    三、加载离线地图影像

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

     1. 从水经注上下载的全球7级影像,这里下载的是tif格式

    2. 打开CesiumLab,在“数据处理-》影像切片”的“输入文件”一项中,点击添加下载tif文件

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

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

    等待处理完成

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

    3. 在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 

  • 相关阅读:
    导航 习题【微机原理】【习题】
    值改变事件(SMART PLC梯形图FC)
    C语言——流程控制
    Linux系统进程与进程间通信
    飞书Webhook触发操作指南,实现事件驱动型工作流自动化
    【leetcode热题Hot100】——任务调度器
    【CSS】CSS文本样式【CSS基础知识详解】
    GaussDB(for Redis)双活容灾支持4大应用场景,为业务安全保驾护航
    C++模拟实现——红黑树封装set和map
    R数据分析:网络分析的做法,原理和复现方法
  • 原文地址:https://blog.csdn.net/ChaoChao66666/article/details/133644679