Unreal Engine 5 C++ Advanced Action RPG 七章笔记

第七章 Ranged Enemy

2-Ranged Enemy Starting Weapon

  • 制作新敌人的流程准备
    • 新敌人的武器
    • 起始的状态数据
    • 自己的战斗能力
    • 投射能力
    • 自己的行为树
      在这里插入图片描述
  • 创建角色,添加武器,添加数据,就是继承之前的基类敌人的
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 运行结果
    在这里插入图片描述

3-Glacer Starting Stats

  • 看看就行,就是复制曲线表格更改数据
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

4-Glacer Hit React

  • 关于材质,看看就行

5-Ranged Behavior Tree(这节课解决了翻滚运动扭曲对墙会有bug的问题)

  • 因为当对着墙进行翻滚时,检测点无效,那么冲量就为零矢量,所以对着墙翻滚的时候,可能会滚向原点,解决方法加个判断,没有检测点时就移除运动扭曲就行
    在这里插入图片描述
  • 后面就是一些创建行为树的设置行为树到这个远程敌人上的操作,看看就行

6-Find Shooting Position

  • 新建一个EQS用来让敌人走到理想的射击地点,这节课没多少内容,看看就差不多了
    在这里插入图片描述

7-Projectile Ability(射击能力)

  • 流程
    • 创建这个能力
    • 添加一个射击的类,这个类可以为后续角色拥有了远程攻击做准备
    • 损伤逻辑
    • 特效处理
      在这里插入图片描述
  • 创建播放攻击能力
    在这里插入图片描述
  • 给予能力
    在这里插入图片描述
  • 行为树逻辑
    在这里插入图片描述

8-Projectile Class

  • 这节课来创建实际的射击的类
  • 添加Niagara模块
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 创建蓝图
    在这里插入图片描述

9-Spawning Projectile

  • 添加一个标签用来标明蒙太奇中何时发生子弹
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 发射子弹
    在这里插入图片描述
  • 运行结果
    请添加图片描述

10-On Projectile Hit

  • 在AWarriorProjectileBase类中继续添加逻辑,给碰撞盒子添加两个动态委托函数进行处理碰撞
    在这里插入图片描述
    在这里插入图片描述

11-Handle Projectile Hit

  • 继续编写碰撞逻辑
    在这里插入图片描述
  • 创建一个在蓝图中实现的函数,用来播放击中声音
    在这里插入图片描述
    在这里插入图片描述
  • 在基类蓝图中进行编写播放逻辑
    在这里插入图片描述
  • 在子类蓝图上添加声音与特效
    在这里插入图片描述

12-Projectile Spec Handle(发射的子弹应用伤害)

  • 在我们子弹击中目标时就可以携带GE返回Handle,然后将GE应用到目标上,以便拉回到我们的投射能力上,在生成射弾前要分配GE的效果,这也是指定射弾应造成多少伤害的地方
    在这里插入图片描述
  • 继续编写AWarriorProjectileBase中的逻辑,首先创建子弹的GE句柄与应用伤害的函数
    在这里插入图片描述

在这里插入图片描述

  • 在帮助函数库中新建将GE应用到目标的辅助函数使用
    在这里插入图片描述
    在这里插入图片描述
  • 射弾应用伤害的函数逻辑
    在这里插入图片描述
  • 既然在应用伤害的函数中添加了GameplayEventData传参,那这里就要加上
    在这里插入图片描述
  • 运行结果,我们生成子弹的这就需要传入一个应用伤害的GE
    在这里插入图片描述

13-Make Projectile Spec Handle

  • 在本次讲座中,将构造此应用伤害的GE手柄以及如何指定射弹可以造成的伤害量。
  • 在远程敌人的曲线表格里面添加远程攻击的伤害数据
    在这里插入图片描述
  • 添加伤害
    在这里插入图片描述

14-Projectile Sound FX

  • 这集添加音效看看就行

15-Glacer Melee Ability(当玩家靠近的近战能力)

  • 制作一个近战的蒙太奇,复制之前近战AI的蒙太奇进行更改就行
    在这里插入图片描述
  • 也是一样复制之前近战能力改一下即可
    在这里插入图片描述
  • 添加能力
    在这里插入图片描述
  • 行为树测试一下
    在这里插入图片描述

16-Unblockble Attack(设置这个近战能力不可被格挡)

  • 这节课解决远程敌人的近战攻击是不能被格挡的
  • 首先添加用来说明这个状态的标签
    在这里插入图片描述
    在这里插入图片描述
  • 之前在UEnemyCombatComponent战斗组件中留有逻辑,不可阻挡的攻击,现在继续补齐
    在这里插入图片描述
  • 在进行攻击时就会尝试激活这个标签
    在这里插入图片描述
  • 在敌人的近战攻击基类能力中进行判断有没有不可被阻挡的标签就行了,有就播放一个GC正常执行攻击逻辑,没有也正常执行攻击逻辑
    在这里插入图片描述
  • 然后新建一个GC用来播放远程AI近战攻击的提示,这里有个GetActorEyesViewPoint的节点返回Actor的视点
    在这里插入图片描述
  • 加个旋转更好看一点
    在这里插入图片描述
  • 运行结果
    请添加图片描述

17-Combat Test Map

  • 看看就行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值