使用射线碰撞攻击目标

来源:互联网 发布:淘宝店铺男装名字大全 编辑:程序博客网 时间:2024/05/16 10:05


实现效果:按Q发射一条不存在实体碰撞的射线,进行碰撞检测达到开枪的效果


一:添加键盘事件Q

二:获取枪(上图Mesh2P)的坐标位置,准心的骨骼名称

三:获取一个自己(self)的向量,乘以射线的长度(5000)



一:添加射线方法:LineTraceByChannel

1.在DrawDebugType里,默认None不显示射线,

ForOneFrame发射一条射线,

ForDuration发射多段射线,比如说实现多段射线组成的抛物线。


二:添加碰撞事件ApplyDamage

DamagedActor碰撞目标

BaseDamage基本伤害


1.伤害事件,数值必须不等于0,AnyDamage事件才能被触发

2.场景里目标碰撞的对象里,必须有射线。


三:添加一个开火的特效

1.在枪支骨骼前端添加插槽


2.角色蓝图里,添加一个粒子的变量MuzzleEffect

3.添加一个创建粒子的方法SpawnEmitterAttached

4.在Acttach Point Name写上要绑定特效的骨骼插槽位置

5.注意,这里的向量,要获取枪支自身的向量,不然特效会出现单一方向


最终效果如下图:



0 0
原创粉丝点击