【UE5 Cesium】06-Cesium for Unreal 从一个地点飞行到另一个地点(上)

UE版本:5.1

介绍 

本文以在墨尔本和悉尼这两个城市间为例,介绍如何使用虚幻5引擎和Cesium for Unreal插件在这两个城市间进行飞行移动,其中墨尔本和悉尼城市的倾斜摄影是Cesium官方仓库中自带的资产,我们引入到自己的Cesium账号中即可使用。本文介绍第一种飞行方法,下一篇文章介绍第二种飞行方法。

效果

 

步骤

一、实现飞行效果

 首先新建一个空白工程并命名

 打开工程后新建一个空白关卡

 我将关卡命名为“Globe”

 启用Cesium插件并重启

 项目设置中将“Blobe”作为开始和默认地图

 打开关卡“Globe”

 点击连接Cesium

 点击“Allow”

 回到虚幻编辑器中添加Cesium Map和Cesium Sunsky

 再次连接到Cesium ion

 在资产仓库中添加墨尔本城市的倾斜摄影

 在虚幻编辑器中将该资产添加到关卡

 在大纲中双击“Melbource Photogrammety”预览

 在大纲中选中“CesiumGeoreference”,然后点击如下按钮将地理参考系原点定在这里

 如果视口变黑的话可以通过调整SunSky的SolarTime来改变时间,从而调到白天

 

接下来我们将Cesium地理参考系搬到悉尼上空。

首先在大纲中选中“CesiumGeoreference”,然后设置经纬高为(-33.871799,151.206696,3000.0)

 添加一个“Dynamic Pawn”

 打开关卡蓝图

 在大纲中选中“Dynamic Pawn”,然后在关卡蓝图的事件图表中创建一个对“Dynamic Pawn”的引用

 创建“Fly to Location Longitude Latitude Height”(在UE4中貌似叫“Inaccurate Fly to
Location Longitude Latitude Height”)

 该节点中的最后一个引脚“Can Interrupt by Moving”表示是否可以在飞行当中可以被鼠标键盘等标准操作打断

 然后创建一个三维向量节点,节点中xyz的值就是墨尔本的经纬高

 按下F键开始飞行,我们通过“Yaw at Destination”和“Pitch at Destination”引脚分别设置“Dynamic Pawn”飞行过程中的绕Y轴和X轴旋转的角度。

 未解决飞行到目的地然后“Dynamic Pawn”自动往上飞的情况,我们需要在世界场景设置中取消勾选“启用场景边界检查”

 此时运行效果如下:

二、自定义飞行曲线 

 在大纲中选中“DynamicPawn”,在细节面板中可以看到一些曲线设置

 双击打开第一个曲线,这个曲线是用来控制“DynamicPawn”在飞行过程中,飞行高度随时间的变化情况。

横坐标是飞行时间,纵坐标是飞行高度 ,(横纵坐标均已归一化)

 双击打开第二条曲线,这条曲线是用来控制“Dynamic Pawn”在飞行过程中的飞行速度随时间的变化关系。

横坐标是飞行时间,纵坐标是飞行进度。 

 双击打开第三条曲线,该曲线用来控制“Dynamic Pawn”在飞行过程中飞行距离与最大飞行高度的变化关系

 横坐标是飞行距离,纵坐标是最大飞行高度,单位均为米

 如果我们想使用自定义曲线的话,可以在内容文件夹中新建一个曲线

 曲线类选择“CurveFloat”

 

 这里命名为“Curve_MyAltitudeProfile”,准备用该自定义曲线替换默认的第一条控制飞行高度随时间变化的曲线。双击打开该文件

 在画布中新建三个关键帧,坐标分别为(0,0)、(0.5,1)和(1,0)

 点击如下按钮使曲线变得平滑

 如果我想保持在最大高度一段时间可以再添加一个关键帧

 曲线编辑完毕后,将该文件拖入来替换默认的曲线文件

 在剩下的两个参数中,“Fly to Duration”是用来控制飞行的时长

 最后一个参数应该是用来控制“DynamicPawn”飞行过程中的插值时间,下图设置的就是每0.01s“DynamicPawn”就会更新一下当前的位置

最终的运行效果如文章开头所示。

 

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

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

相关文章

【⑦MySQL】· 一文了解四大子查询

前言 ✨欢迎来到小K的MySQL专栏,本节将为大家带来MySQL标量/单行子查询、列子/表子查询的讲解✨ 目录 前言一、子查询概念二、标量/单行子查询、列子/表子查询三、总结 一、子查询概念 子查询指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从My…

8.用python写网路爬虫,Scrapy

前言 Scrapy 是一个流行的网络爬虫框架,它拥有很多简化网站抓取的高级函数。本章中,我们将学习使用 Scrapy 抓取示例网站,目标任务与第2章相同。然后,我们还会介绍 Portia ,这是一个基于 Scrapy 的应用,允许…

MATLAB 之 低层绘图操作和光照及材质处理

这里写目录标题 一、低层绘图操作1. 曲线对象2. 曲面对象3. 文本对象4. 其他核心对象4.1 区域块对象4.2 方框对象 二、光照和材质处理1. 光照处理2. 材质处理2.1 图形对象的反射特性2.2 material 函数 一、低层绘图操作 MATLAB 将曲线、曲面、文本等图形均视为对象&#xff0c…

LangChain大型语言模型(LLM)应用开发(三):Chains

LangChain是一个基于大语言模型(如ChatGPT)用于构建端到端语言模型应用的 Python 框架。它提供了一套工具、组件和接口,可简化创建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChain 可以轻松管理与语言模型的交互&#x…

LeetCode 75 —— 70. 爬楼梯

LeetCode 75 —— 70. 爬楼梯 一、题目描述: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n 2 输出:2 解释:有两种方法…

《操作系统》- 操作系统的基本概念

目录 一、操作系统的概念1.1 操作系统的分类1.2 计算机系统的构成1.3 操作系统都做了哪些事 二、操作系统的目标和功能2.1 操作系统的目标2.2 操作系统的功能 三、操作系统的特征3.1 并发3.2 共享3.3 虚拟3.4 异步 一、操作系统的概念 1.1 操作系统的分类 UNIX是非常早期的操作…

uniapp监听手机侧滑返回事件。

这篇文章是应一个粉丝的需求更新的!你们看我多宠粉! 若在App首页,点击手机物理返回键,此时无返回页面可关闭,uni-app默认会提示“再按一次退出应用”;若想自定义退出信息,如修改为:…

UE4/5动画系列(3.通过后期处理动画蓝图的头部朝向Actor,两种方法:1.通过动画层接口的look at方法。2.通过control rig的方法)

目录 蓝图 点积dot Yaw判断 后期处理动画蓝图 动画层接口 ControlRig: 蓝图 首先我们创建一个actor类,这个actor类是我们要看的东西,actor在哪,我们的动物就要看到哪里(同样,这个我们也是做一个父类&#xff0…

第2章 k-近邻算法

文章目录 第2章 k-近邻算法2.1k-近邻算法概述2.1.1准备:使用Python导入数据2.1.2实施kNN分类算法 2.2示例:使用k近邻算法改进约会网站的2.2.2分析数据:使用Matplotlib创建散点图2.2.3准备数据:归一化数值2.2.4测试算法 第2章 k-近…

【C++11】左值引用 与 右值引用

定义 左值 / 左值引用 左值(Lvalue): 左值是一个表示数据的表达式(如变量名或解引用的指针),我们可以 对它取地址 可以对它赋值,左值可以出现赋值符号的左边,右值不能出现在赋值符号左边。定义时const修…

网络系统集成实验(五)| 系统集成路由器OSPF动态、综合路由配置

一、前言 该系列文章将会对网络系统集成课程中相关实验进行更新,本篇为第五篇,有关路由器的OSPF、综合路由配置,包括了OSPF的配置实验、单臂路由实验、RIP配置实验、综合实验等。 注意:该实验的后半部分综合实验基于前面的实验&am…

在idea中高并发下的分布式锁以及解决方法

案例:1.互联网秒杀 2.抢优惠卷 3.接口幂 引入pom文件 <packaging>war</packaging><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.2.8.RELEA…