目录
效果
步骤
一、飞机沿航线飞行
先去模型网站下载一个波音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"相对于飞机的位置
在关卡蓝图中通过如下节点来切换视角
此时效果如下: