本篇博客在上一篇【UE5 Cesium】17-Cesium for Unreal 建立飞行跟踪器(2)基础上,实现变速飞行的效果。
步骤
- 打开"BP_Aircraft"

可以看到飞机的运动主要是通过"设置Actor变换"实现的:

最根源是由于"插值"节点中"Alpha"的改变而使飞机移动,因此我们需要通过改变"Alpha",让他从均匀变化改为非均匀变化

取消设置变量"Duration"的"可编辑实例"

新添加一个浮点类型变量,命名为"DeltaTime",表示采样时间间隔

设置为可编辑实例

添加一个整型变量,命名为"PointerTotalNum",同样为可编辑实例,表示总采样点数

在事件图表中,在自定义事件"MoveAircraft"开始执行时,设置总持续时长=采样时间*总采样点

如下图,主要思想是通过把Alpha时刻的飞行距离÷总距离,来得到归一化后Alpha时刻的飞行距离

- 在大纲中选中"BP_Aircraft",然后设置参数DeltaTime(采样时间)为2s,PointerTotalNum(采样点数)为625

此时运行就可以看到飞机在起飞前速度较慢,起飞后速度很快的现象。
参考视频: