虚幻5.3学习记录【第五天】

2024/07/12【文章主要在于复盘自己的每日所学,如果有大佬看到还请多多指教,若看到我的错误点还请提出,非常感谢】

角色射击状态的制作

我们先从简单的地方开始,打开我们需要的动画(后坐力动画)设置其附加状态,左边红框,与之前的设置方法一致,只是操作的界面有所不同罢了

打开角色的 动画蓝图 来添加蓝图节点,首先使用布尔值来判断现在是否处于开火状态,如果是我们就要播放刚刚混合的动画,否则播放我们原本的动画(我们已经将之前的动画设置好了一个状态机缓存),现在来制作混合的动画,这个混合动画与按骨骼混合几乎一致,少了一步设置骨骼的步骤。

此时我们今天的动作就已经完成了,开始蓝图的编写,这是角色开火时的蓝图,由上到下依次是,开始射击部分,结束射击部分,自定事件部分。

开始射击部分,首先是和往常一样的条件判断(判断是否持枪与状态是否占用),紧接着设置枚举值来占用角色状态,然后判断玩家有没有开启肩射,开启了则直接开始射击,没有开启将把枪举起,并等待枪械完全举起后开火(最后的蓝图是一种计时器,在左侧的紫色引脚输入事件的名称他就会在计时结束之后去执行,计时则是在左侧绿色引脚更改)

计时器所执行的事件是下方图片中从上到下第二个模块(最后的蓝图节点稍后在介绍武器父类蓝图介绍)

接下来是结束射击,前两个等一下讲,将用于切换动画的布尔值设置到否,并进行判断玩家是否在瞄准状态,瞄准状态下将不做任何的后续操作,非瞄将执行停止瞄准事件(也就是上方图片上到下第一个模块)

接下来就是武器父类蓝图了,武器父类蓝图主要为三个事件,分别是射击的开始,结束与状态中,在调用开始射击事件后设置计时器并且一直重复循环,由此实现枪械的射速,但是这个节点的运作方式是先进行计时在进行事件,会使得玩家在执行开火的时候有明显的迟钝感,因此在此事件前单独调用一次武器射击中事件来完善枪械的开枪手感(这种方法会使第一枪的射速有所不同,但是偏差十分地小,小到肉眼是看不出来的,哪怕是FPS都不会影响公平,看出来了去参加最强大脑)。

接下来是射击中事件,在此之前我们要对枪械的骨骼添加对应的插槽,分别是枪口与抛壳口,添加对应的插槽的流程与给人物骨骼添加插槽一致,事件触发后会先获取到枪械模型的对应插槽,并执行 分割结构体引脚 将数值单独赋值到后面的 生成类 蓝图节点,并将 生成类 蓝图节点的class提升为变量,之后在各个枪械子类蓝图里设置子弹类型,接下来要生成弹壳,我们要在视口模式下创建一个箭头组件,并且为枪械模型的子级,调整坐标位置到抛壳口,然后回到 事件蓝图 同样 分割结构体引脚 将数值单独赋值到后面的蓝图节点(这个蓝图节点可以理解为【在位置生成粒子(精灵)发射器】他会生成对应的粒子特效)

接着是生成枪口火焰,操作方法与之前两个功能一致。,最后是播放动画,将New Anim To Play提升变量,之后在各个枪械子类蓝图里设置(枪械的动画其实就是抛壳口的动画)。

最后是结束射击事件,清除定时器就可以了。

接着来到子弹父类,上面的模块是开枪的枪声,下面的大意为,获取子弹击中的地方并生成弹痕(注意除了位置还要有角度,如果不与击中的面垂直生成的弹孔将是歪的,因此要获取被击中物体的法向,用法向来控制旋转,什么是法向从字面理解,法向即法线的方向,法线是指始终垂直于目标平面的线,是虚假的不可见的),带有调用函数气泡的蓝图节点是一段我们自己写的函数等一下介绍,接下来将被命中目标设置为物理的,并在添加冲量之后删除子弹节省性能,添加的冲量可以让你开枪将物体打飞等(如cs2中的可以被打到其他地方)

在介绍我们 击中物体特效 函数之前要先添加物理材质(实现在不同的材质上行走有不同的声音等),打开项目设置找到物理找到其下的Physical Surface添加物理材质接着要在内容浏览器中也添加物理材质,并在内对对应的物理材质关联,接着就可以介绍我们的 击中物体特效 函数了

函数的总览

第一部分大意为在命中的位置生成一个球体来判断击中的材质,根据材质的不同来在后面添加不同的动画以及音频。

这里与之前的生成弹壳等操作一致(看着特别的多特别的唬人其实没有什么,这个线太乱了,明天我要好好的整理一下)

至此,功能完毕,已经是第二天的2:07了,又没有按时睡觉....

  • 30
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值