本章内容衔接上两章,需要完成上两章才能用本章内容
虚幻5|角色武器装备的数据库学习(不只是用来装备武器,甚至是角色切换也很可能用到)-CSDN博客虚幻5|普通攻击,使用接口更方便-CSDN博客
如有疑问,可访问上章内容,
一,打开武器网格体添加插槽
1.如果武器没有上碰撞,记得给武器添加简单碰撞或复制碰撞,打开武器网格体左上角有碰撞选择,可添加碰撞
2.点击右侧的插槽管理器,添加两个插槽,一个是检测开始,一个是检测结束,分别放在能受到伤害的范围
二,碰撞检测
1.创建一个actor组件,取名为武器碰撞组件
2.打开武器碰撞组件
创建一个组件,类型为基元组件,命名为碰撞组件
3.创建函数,命名为设置碰撞对象
并把刚刚的碰撞组件拖入
4.增加一个布尔变量,命名为是否碰撞?
5.再增加三个函数,命名为可以碰撞,禁用碰撞,清空碰撞
可以碰撞
禁用碰撞
清空碰撞,重点理解
6.打开武器碰撞组件的事件图表
先编写白线,再编写蓝线,其他颜色的线都是后面才链接的
注意,radius半径要再细节处设置其默认值。创建数组里的敌人,下面有
创建数组的敌人,我们需要到项目设置里添加,如果你看过我的高光添加的文章里也有,我这里再写一次
7.项目设置里添加新的碰撞对象
打开最左上角的编辑->选中项目设置->找到碰撞->新建object通道,命名为敌人
8.打开帧线,这样有助于我们运行时看到武器检测线,针对一帧
三,创建一个蓝图类Actor
1.打开后,组件添加一个静态网格体,
2.右侧细节栏,选择我们想要的敌人
并设置他的碰撞预设为以下
四,使用武器碰撞组件
1.打开我们创建好的武器蓝图类,武器一般是actor,属于静态网格体
2.打开,添加武器碰撞组件
3.打开我们普通攻击章节创建好的战斗组件
4.添加一个变量,装备的武器,引用我们武器的变量类型,类型名为装备的近战武器
5.创建两个函数,设置装备的武器和输出装备的武器
通过这个战斗组件的函数,获取我们的装备的武器(actor蓝图类)里添加的武器碰撞组件(actor组件),从而使用到我们的武器碰撞组件(actor组件)内的函数
设置装备的武器
输出装备的武器
五,
1.创建一个武器碰撞动画通知状态,不是通知,而是通知状态,并命名为武器碰撞动画通知状态
2.点开重载,重载两个函数,一个已接收通知开始,再重载一个已接收通知结束
3.打开函数已接收通知开始的函数
按我以下步骤,编写蓝图
首先mesh comp链接 get owner,获取拥有者
从获取拥有者链接按类获取组件,会出现两个一样的,我们选第二个
在按类获取组件,选择类,选择我们的战斗组件,并链接输出装备的武器(这是调用函数)
输出装备的武器链接isvail_有效
后面就没什么要注意的了
照图片编写即可
4.打开函数已接收通知结束的函数
复制粘贴我们已接收通知开始函数的内容,把可以碰撞(调用函数)改成禁用碰撞
既然我们设置好这些通知,我们就要用,一般都是用在动画蒙太奇里的,这又是个知识点
六,在蒙太奇里使用通知
1.在上一章写普通攻击里,我们也用到的蒙太奇里添加新的通知轨道。
在通知轨道里放上我们创建好的武器碰撞通知,如果通知轨道不够,可以添加通知轨道。
这武器碰撞通知调用的是我们的已接收开始的通知和已接收结束通知
武器碰撞通知的长度拉取范围是攻击打中敌人的阶段,这个看你是什么武器,尝试调整
其他攻击的蒙太奇都一样,看你需要
七,
1.打开我们的角色蓝图,找到装备武器的后面
添加以下蓝图
为什么呢?原理是当我们拿
最后我们要设置碰撞对象,还没有设置,对象(武器)该做什么都知道了
运行一下,如果攻击,武器出现红色框框,说明程序运行成功
八,打开武器碰撞组件
1.编写事件图表
九.传递命中结果的内容
1.在武器碰撞组件的事件图表后面,也就是上面第八点的蓝图后面了
添加一个事件分发器,命名为命中
2.选中该事件分发器,右侧细节处,增加输入
3.编写以下蓝图
把事件分发器命中拖入调用即可
十.使用调用命中
1.打开装备的武器的Actor蓝图类进行编写(武器的actor蓝图类且含有武器碰撞组件)
选中武器碰撞组件
2.右侧细节处,往下滑找到命中的事件
没有的话,可能你没有编译
3,点击+符号,获取事件蓝图,编写以下蓝图
十一,使用命中事件
1.打开敌人的角色蓝图,编写以下蓝图进行测试
给敌人添加背打击到彪血的特效
写完这些就方便了,我们可以使用任何武器都可以进行检测
只需要在武器表数据(有这一章内容)去添加武器及其信息,以及在武器的网格体上添加检测开始和检测结束的插槽即可,如下