一、素材资源
链接:https://pan.baidu.com/s/1xPVYYw05WQ6FABq_ZxFifg
提取码:ivv8
二、课程视频链接
https://www.bilibili.com/video/BV1Bb411h7qw/?spm_id_from=333.337.search-card.all.click&vd_source=36a3e35639c44bb339f59760641390a8
三、最终效果
四、制作步骤
首先下载素材资源并导入UE中
飞机的骨骼如下:
新建一个Pawn类,命名为“BiplanePawn_BP”
双击打开“BiplanePawn_BP”,添加一个“可动网格体组件”用来控制骨骼
再添加一个静态网格体组件作为根组件
命名为“Driver”
再添加一个弹簧臂和摄像机组件
先给“Driver”赋个静态网格体,这里设置为方块
选中“PoseableMesh”,设置骨骼网格体
添加一个静态网格体组件,用来放置驾驶员
设置弹簧臂长度为800,然后弹簧臂向上旋转15°,摄像机向下旋转10°
启用摄像机旋转延迟
选中“Driver”,勾选模拟物理,碰撞预设改为“PhysicsActor”
取消勾选 启用重力
在项目设置中添加一些操作映射和轴映射
在“BiplanePawn_BP”中添加两个布尔型变量
在事件图表中添加如下节点
添加一个新函数,命名为“ThrottleInput”
先在该函数内添加如下节点
新建一个整型变量,命名为“ThrottleAmount”
默认值设置为30
继续完善“ThrottleInput”函数的逻辑如下
在事件图表设置每0.05s调用一次“ThrottleInput”函数
新建一个浮点型变量,命名为“Aircontrol”
默认值设为2500
在事件图表中添加如下节点,用作基本的飞机的控制
新建一个函数,命名为“CalculateSpeed”
函数逻辑如下:
回到事件图表,添加如下节点
为了让螺旋桨转起来并且根据转向控制尾翼,这里继续新建一个函数,函数命名为“PropRudderElevator”
每次调用该方法时,让螺旋桨旋转20°:
让尾翼根据方向转动:
让左尾翼根据升降转动:
右翼升降同样的道理,但需要改三处地方:
在事件图表中每0.01s调用函数“PropRudderElevator”
给飞机附上材质
先将纹理导入
创建两个材质球
应用材质:
运行游戏效果如文章开头所示。