【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 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/98052.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

好物周刊#12:计算机考研资料

https://cunyu1943.github.io https://yuque.com/cunyu1943 村雨遥的好物周刊,记录每周看到的有价值的信息,主要针对计算机领域,每周五发布。 一、项目 1. JEECG BOOT 低代码开发平台 一款基于代码生成器的低代码开发平台!前后…

scala数组函数合集

目录 1. 添加类函数 2.生成类函数 3.删除类函数 4.查找类函数 5.统计类函数 6.修改类函数 7.判断类函数 8.获取集合元素 9.集合操作类函数 10.转换类函数 11.工具类函数 12.集合内与集合间计算函数 在 scala 中Array数组是一种可变的、可索引的数据集合 创建数组…

想升级macOS Big Sur,但是MacBook内存空间不够该怎么办?

随着使用时间的增长,我们会发现Mac电脑的存储空间越来越少,这时候我们就需要对Mac电脑进行清理,以释放更多的存储空间。那么,Mac空间不足怎么解决呢? 1.清理垃圾文件 Mac空间不足怎么解决?首先要做的就是清…

Linux: 基础IO

学习目标 1.C接口与系统调用接口的差别 2.文件描述符, 重定向, 一切皆文件, 缓冲区 3.fd与FILE, 系统调用和库函数的关系 4.系统中的inode 5.软硬链接 6.动静态库 预备知识 1.文件 内容 属性 2.文件的所有操作: a. 对内容的操作 b.对属性的操作 3.文件在磁盘(硬件)上, 我…

前端—— 分层模型和应用协议

1 分层模型 MAC地址 可以认为计算机专属,可以认为每台计算机的 MAC地址 固定不变; IP地址 可以认为是计算机当前的【家庭地址】,动态唯一,家庭地址变化,IP地址 也跟着变化; 举个例子,A 给 B 发…

MyBatisPlus(十五)分页查询

说明 MyBatisPlus 提供了分页查询的功能。 MyBatisPlus 的分页功能,是通过分页插件实现的。要使用分页功能,需要配置分页插件的拦截器。 MyBatisPlus 的分页功能,可以通过内置的API接口实现;也可以通过自定义的 mapper#method …

consulmanage使用

一、监控自建主机 需要在所有被监控的主机上部署node_exporter收集主机的监控数据 在此页面下载node_exporter安装包 Download | Prometheus 下载后解压安装包,并启动node_exporter服务 mkdir /opt/node_exporter && cd /opt/node_exporter tar -zxvf node_…

【计算机视觉|人脸建模】学习从4D扫描中获取的面部形状和表情的模型

本系列博文为深度学习/计算机视觉论文笔记,转载请注明出处 标题:Learning a model of facial shape and expression from 4D scans 链接:Learning a model of facial shape and expression from 4D scans | ACM Transactions on Graphics Pe…

stm32的GPIO寄存器操作以及GPIO外部中断,串口中断

一、学习参考资料 (1)正点原子的寄存器源码。 (2)STM32F103最小系统板开发指南-寄存器版本_V1.1(正点) (3)STM32F103最小系统板开发指南-库函数版本_V1.1(正点&a…

【数据结构】论如何拿捏快速排序?(含非递归)

目录 一,快速排序(递归) 1,快排思想 2,霍尔排序 3,挖坑法 4,前后指针法 5,快速排序优化 1,三数取中法选key 2,小区间优化 二,快速排序&a…

Decorator

Decorator 动机 在某些情况下我们可能会“过度地使用继承来扩展对象的功能”, 由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性; 并且随着子类的增多(扩展功能的增多),各种子类的组合&#xff…

typescript: Builder Pattern

/*** file: CarBuilderts.ts* TypeScript 实体类 Model* Builder Pattern* 生成器是一种创建型设计模式, 使你能够分步骤创建复杂对象。* https://stackoverflow.com/questions/12827266/get-and-set-in-typescript* https://github.com/Microsoft/TypeScript/wiki/…

用这些IDEA插件,让你早下班两小时

GenerateAllSetter:一键调用一个对象的所有setter方法 RestfulTool:自动显示所有URL接口,快速检索接口 SequenceDiagram:以图形界面形式显示方法调用链,方便阅读源码、梳理代码 CamelCase:变量下划线转驼峰命名 Rainbow Brackets:帮助程序员识别代码中括…

SpringCloud Alibaba - Sentinel 限流规则(案例 + JMeter 测试分析)

目录 一、Sentinel 限流规则 1.1、簇点链路 1.2、流控模式 1.2.1、直接流控模式 1.2.2、关联流控模式 a)在 OrderController 中新建两个端点. b)在 Sentinel 控制台中对订单查询端点进行流控 c)使用 JMeter 进行测试 d)分…

Aurora中的策略模式和模板模式

Aurora中的策略模式和模板模式 在aurora中为了方便以后的扩展使用了策略模式和模板模式实现图片上传和搜索功能,能够在配置类中设置使用Oss或者minio上传图片,es或者mysql文章搜索。后续有新的上传方式或者搜索方式只需要编写对应的实现类即可&#xff…

【C++设计模式之迭代器模式】分析及示例

简介 迭代器模式是一种行为型设计模式,它提供了一种顺序访问聚合对象元素的方法,而又不需要暴露聚合对象的内部结构。迭代器模式通过将遍历算法封装在迭代器对象中,可以使得遍历过程更简洁、灵活,并且符合开闭原则。 描述 迭代…

延时队列java

Redis过期键通知(使用redis来实现延迟通知) Slf4j public class KeyExpiredListener extends KeyExpirationEventMessageListener {public KeyExpiredListener(RedisMessageListenerContainer listenerContainer) {super(listenerContainer);}Overridep…

arm 点灯实验代码以及现象

.text .global _start _start: 1.设置GPIOE寄存器的时钟使能 RCC_MP_AHB4ENSETR[4]->1 0x50000a28 LDR R0,0x50000A28 LDR R1,[R0] ORR R1,R1,#(0x1<<4) 第4位置1 STR R1,[R0] 1.设置GPIOF寄存器的时钟使能 RCC_MP_AHB4ENSETR[4]->1 0x50000a28 LDR R…

Unity可视化Shader工具ASE介绍——3、ASE的Shader类型介绍

大家好&#xff0c;我是阿赵。这里继续介绍Unity可视化Shader编辑插件ASE的用法。   上一篇介绍了节点的输入输出节点。这一篇来介绍一下不同的Shader类型的区别。 一、修改Shader类型 之前介绍创建Shader的时候&#xff0c;曾经说过可以选择Shader的类型。 其实这个类型是…

FFmpeg 命令:从入门到精通 | ffmpeg 命令视频录制

FFmpeg 命令&#xff1a;从入门到精通 | ffmpeg 命令视频录制 FFmpeg 命令&#xff1a;从入门到精通 | ffmpeg 命令视频录制安装软件&#xff1a;Screen Capturer Recorder查看可用设备名字音视频录制录制视频&#xff08;默认参数&#xff09;录制声音&#xff08;默认参数&am…