0.下面所有的操作都是基于day01的基础上开始的
1.开火音效
首先设置音效资产变量,在蓝图中动态的设置音效资产
绑定开火事件,在输入事件中设置鼠标左键按下事件
在代码中设置当鼠标左键按下时对应的槽函数,
绑定输入事件和槽函数之间的关系
获取开火资产
GitHub - DruidMech/UE4-CPP-Shooter-Series: Unreal Engine C++ Shooter Series Project
创建音效蓝图
在BP_Character中设置资产
至此,开火音效已经实现
2.开火粒子特效
首先创建开火粒子特效变量以动态绑定资产,在我看来蓝图类就像是配置文件
在鼠标左键点击开火时调用的回调函数 FireWeapon 中在指定的位置生成粒子特效
该位置为武器的枪口,所以需要在武器枪口创建一个插槽,用来生成后续的粒子特效
打开蓝图Cahracter,点击对应的网格体,跳转到对应的资产位置并打开
点击骨骼
点击武器,在武器下新建一个插槽
我这边已经添加好了
由于后期需要获取插槽的向前向量,所以此处将X轴调整为枪口方向
开火粒子特效资产
在上一节导入的资产包中已包含
由于该资产下开一枪会蹦出三个子弹,修改所有的发射器
修改好后,在蓝图Character中设置该资产引用
在对应的回调函数中先获取武器插槽,在生成枪口火焰
遇到头文件缺失问题,如果之间说的跳转到对应的.h文件在切换.cpp文件获取头文件的方式不奏效,可以采取下面这种,在下载的虚幻编辑器中
3.开枪蒙太奇
在c++类中创建蒙太奇动画变量,供蓝图Character添加该资产
在编辑器中创建开枪蒙太奇动画
在蓝图Character中添加对应的动画蒙太奇资产
在开火对应的回调函数中添加播放开火蒙太奇
4.碰撞特效
创建变量,在蓝图Character中动态的导入资产
5.轨迹粒子特效
同上
导入轨迹资产
在蓝图Character中导入该资产
在对应的回调函数中,绘制射线
6.准星
绑定信号槽
设置新的按键输入,鼠标右键点击瞄准,再次点击正常视角
设置bool变量判断是否在瞄准
绑定对应的回调函数
绘制准星
创建HUD
获取准星资产