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

ops/2025/3/18 17:35:43/

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.至此开火的音效,火焰,射线以及受击特效和准星瞄准已经设置完毕


http://www.ppmy.cn/ops/166830.html

相关文章

【每日学点HarmonyOS Next知识】上下拉列表、停止无限循环动画、页面列表跟随列表滑动、otf字体、日期选择

1、HarmonyOS 实现只需要保留上拉加载更多,但是不需要下拉刷新? Refresh通过参数refreshing判断当前组件是否正在刷新,可以控制该参数变化来触发下拉刷新:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5…

09-SDRAM控制器的设计——按键的处理(边沿捕获电路、硬件消抖、Verilog消抖电路)

按键边沿检测▷▷▷ 边沿检测经常用于按键输入检测电路中,按键按下时输入信号 key 变为低电平,按键抬起变为高电平。当输入的信号为理想的高低电平时(不考虑毛刺和抖动),边沿检测就发挥了很重要的作用。 由于输入的信号…

css基本功

为什么 ::first-letter 是伪元素&#xff1f; ::first-letter 的作用是选择并样式化元素的第一个字母&#xff0c;它创建了一个虚拟的元素来包裹这个字母&#xff0c;因此属于伪元素。 grid布局 案例一 <!DOCTYPE html> <html lang"zh-CN"><head&…

C#-委托delegate

一.C#-委托delegate C#中委托即C中函数指针,通过delegate关键字可声明一个代理.代理可像指针一样作为参数传递和调用. <1.声明一个代理类型 class Test{public delegate string CreateNativeString(); }<2.创建代理变量 class Main{public Test.CreateNativeString poi…

本地部署Jina AI Reader:用Docker打造你的智能解析引擎

本地部署Jina AI Reader&#xff1a;用Docker打造你的智能解析引擎 &#x1f31f; 引言&#xff1a;为什么需要本地部署&#xff1f;&#x1f4cc; 场景应用图谱&#x1f527; 部署指南&#xff08;Linux环境&#xff09;1. 环境准备2. Docker部署3. 验证服务状态 &#x1f680…

前端如何实现生成excel文件,并下载

后端很忙没有实现配合&#xff0c;主要由前端来实现&#xff0c;需要点击下载模版生成一个excel并下载的功能&#xff0c; 这是格式 <a href"javascript:void(0)"click"downloadTemplate">下载模板</a> import * as XLSX from "xlsx&qu…

【存储中间件】Redis核心技术与实战(四):Redis高并发高可用(Redis集群介绍与搭建)

文章目录 Redis集群集群前置知识数据分布理论节点取余分区一致性哈希分区虚拟一致性哈希分区虚拟槽分区为什么槽的范围是0 &#xff5e;16383&#xff1f; Redis数据分区Redis 虚拟槽分区的特点集群功能限制 搭建集群节点配置集群创建创建集群随机主从节点指定主从节点创建集群…

Harmony NEXT开发之创建自定义组件

目录 自定义组件的基本用法 自定义组件的基本结构 成员函数/变量 自定义组件的参数规定 build()函数 自定义组件通用样式 在ArkUI中&#xff0c;UI显示的内容均为组件&#xff0c;由框架直接提供的称为系统组件&#xff0c;由开发者定义的称为自定义组件。在进行 UI 界面…