虚幻FPS开发 day02:开枪以及光线追综

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

获取准星资产

7.完整的鼠标左键点击对应的开火回调函数

8.视角缩放的插值

9.至此开火的音效,火焰,射线以及受击特效和准星瞄准已经设置完毕

相关推荐
淡海水1 天前
05-02-源码-Boehm GC标记阶段
算法·unity·c#·游戏引擎·gc
淡海水1 天前
05-03-源码-Boehm GC分配与碎片管理
开发语言·算法·unity·c#·游戏引擎·gc
xiaogai_gai5 天前
BOM 物料清单同步实战:金蝶云星空 → 四化智造 MES 修改场景深度拆解
unity·游戏引擎
/**书香门第*/5 天前
Cocos Creator 打螺丝游戏的实现
游戏引擎·cocos2d·螺丝·打螺丝
mxwin7 天前
Unity Shader 光线追踪原理与实战案例
unity·游戏引擎
xcLeigh8 天前
Unity基础:Instantiate实例化——在运行时动态创建游戏物体
游戏·unity·游戏引擎·教程·instantiate
辻弋20114 天前
五年前的旅行视频糊成马赛克?Video2X用Real-ESRGAN逐帧重建细节,但只支持Windows、集显用户建议直接放弃
服务器·数据库·windows·游戏引擎·电脑
淡海水18 天前
02-02-原理篇-分代GC
算法·unity·c#·游戏引擎·.net·gc
淡海水18 天前
02-03-原理篇-大对象堆
unity·c#·游戏引擎·.net·gc
郝学胜-神的一滴19 天前
C++ Templates 01:拨开迷雾,读懂C++模板经典著作
开发语言·c++·程序人生·游戏·游戏引擎·软件构建