【UE5 Cesium】17-Cesium for Unreal 建立飞行跟踪器(2)

目录

效果

步骤

一、飞机沿航线飞行

二、通过切换相机实现在不同角度观察飞机飞行


效果

步骤

一、飞机沿航线飞行

先去模型网站下载一个波音737飞机模型

然后将下载好的模型导入到UE项目中,导入时需要勾选"合并网格体"(导入前最好在建模软件中将模型的中心轴位置居中到对象中心)

新建一个Actor蓝图类,这里命名为"BP_Aircraft"

添加一个静态网格体组件,静态网格就设置为导入的波音飞机模型

设置旋转,否则飞行时飞机朝向不对

在事件图表中添加一个自定义事件

添加一个时间轴节点

在时间轴上添加两个关键帧

关键帧的点分别为(0,0)和(1,0)

将时间轴的输出alpha提升为变量

添加一个浮点类型变量,这里命名为"AircraftStartOffset",用于表示飞机在整个航线中的位置,范围在0~1之间。

添加一个浮点类型变量"Duration",用于表示飞机飞完整个航线的运行时间

再添加一个变量,命名为"PlaneTrack",类型为"Cesium Cartographic Polygon"的对象引用

在事件图表中添加如下节点,用于更新时间轴输出的Alpha

用Alpha更新飞机的transform

将"BP_Aircraft"拖入场景中

在细节面板中设置蓝图中的公开变量的值如下,三个变量分别表示:

"Aircraft Start Offset"为0,表示飞机从航线起点开始飞

"Duration"为100000,表示飞行时长为100000s

"Plane Track"为场景中的样条线对象

在关卡蓝图中添加如下节点,当玩家按下M键时,执行飞机沿航线飞行的逻辑

此时运行游戏,按下M键后就可以看到飞机起飞:

二、通过切换相机实现在不同角度观察飞机飞行

在大纲中添加两个Camera Actor

分别重命名为"CameraActor_Side","CameraActor_Top"

将这两个CameraActor移至"BP_Aircrat"的子级

在视口中,先调整好在侧面观察飞机的角度

然后将"CameraActor_Side"对齐到视图

同样的道理,使用该方法调整好"CameraActor_Top"相对于飞机的位置

在关卡蓝图中通过如下节点来切换视角

此时效果如下:

相关推荐
爱看书的小沐1 天前
【小沐学WebGIS】基于Cesium.JS与jsbsim联动三维飞行仿真(OpenGL、Cesium.js、Three.js)
c++·qt·three.js·opengl·cesium·jsbsim
晴夏。2 天前
unlua实现原理
游戏·ue5·ue4·lua·ue·unlua
晴夏。2 天前
UE Spawn出来的Actor的生命周期和管理方法
游戏·ue5·ue4·ue
晴夏。3 天前
UE垃圾回收的全方面讲解(通俗易懂)【底层实现、触发方式、引用保持、优化、工具】
ue5·游戏引擎·ue·垃圾回收
邪修king3 天前
UE5:C++ 实现 游戏逻辑 ↔ UI 双向联动
c++·游戏·ue5
HAPPY酷4 天前
从Public到Private:UE5 C++类创建路径差异全解析
java·c++·ue5
1204157137 肖哥6 天前
UE5.7 Procedural Vegetation分析
ue5
半天法师7 天前
Bug 记录:UE 结构体转 JSON 时 Key 字段大小写异常 (Editor 与打包后表现不一致)
ai·ue5·json·bug
邪修king7 天前
UE5 零基础入门第四弹:UMG UI 系统入门,从静态界面到逻辑联动
c++·ui·ue5
HAPPY酷8 天前
UE5 开发工具链配置清单
ue5