【UE】可以自动瞄准开火的机枪

文章介绍了如何在游戏场景中创建一个自动机枪系统,通过Actor类蓝图实现机枪的感知和瞄准功能。当坦克进入机枪的球形碰撞范围时,机枪会自动锁定并开火,同时伴有音效和粒子效果。瞄准事件每0.2秒执行一次,计算旋转角度。开火逻辑依赖于“isShoot”变量,子弹碰撞预设调整以避免不合理的效果,如击中坦克时的过度反作用力。击中时产生粒子特效和声音反馈,提供真实感的游戏体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

效果

        注意看场景中有一把机枪,只要我们控制的坦克进入机枪感知范围,机枪就会自动锁定坦克的位置并开火,击中坦克时产生击中音效和粒子效果。 

步骤

1. 首先创建一个Actor类蓝图,即自动机枪,只包括一个静态网格体和一个球形碰撞组件,球形碰撞组件就当做机枪的感知范围

 当球形碰撞组件范围内出现指定的Actor,就设置布尔变量“isShoot”为True,然后执行自定瞄准事件

 自动瞄准事件如下,每0.2s执行一次,将返回的句柄提升为变量,然后获取玩家控制的actor位置以及机枪自身的位置

计算出机枪需要旋转的角度

 当组件结束重叠时,设置“isShoot”为False,然后清除定时器柄

 在事件开始运行时,就执行开火

 开火逻辑如下,当“isShoot”为True时才开火,然后在插槽处生成子弹

 生成枪口火焰粒子特效

如果希望模拟子弹击中坦克发出金属撞击声和粒子特效

 我们首先保证坦克的碰撞预设为“BlockAllDynamic”

 设置子弹的碰撞预设为“OverlapDynamic”,如果是“BlockAll”的话,子弹击中坦克就会把坦克击飞,这不符合常理(不知道怎样减少击中坦克时的作用力)

 子弹击中坦克时生成粒子特效和击中音效

 最终效果如文章开头所示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zhichao_97

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值