UE4_简易AI_格挡/人物受击
格挡
给每把武器选一个格挡时受击的动画,添加到武器的dataTable里面
下面就是逻辑部分,添加了如下的蓝图节点。
在播放受击动画之前先判断一下是否处于格挡状态,如果处于格挡状态,就播放相应的格挡受击动画。
另外,格挡的时候所受伤害为不格挡时应受伤害的一半
又改了一下,用来看玩家收到的伤害是多少,新建了一个变量叫takenDamage,用来存放我们受到的伤害,减少生命值就直接用HP-takenDamage。
发现有武器时是正常的,但是空手格挡不会减免伤害
找到了bug所在,没有武器时,连接的节点是下面这一溜,也就是无格挡时的伤害判断
所以武器不存在的时候也要加一个判断,是否格挡,格挡的话走上面的LaunchCharacter,不格挡的话走下面
还有个不好的地方,就是我们可以提前格挡,AI攻击后的一瞬间反击,这个有点bug,格挡的意义就不存在了,所以要设置在玩家挨打后的一秒内不得进行攻击
玩家受击喷血/音效
增加玩家挨打时的视野摇晃(这是一个很好玩的东西
新建好打开,右面这些就是我们可以调的参数
Rot Osc是相机的旋转值摇晃,
Loc Osc是相机的Location摇晃
FOV Osc是缩放值摇晃
大概设置成这样就可以用了
用下面这个节点调用刚刚的 camera shake
然后就有赞爆的效果了
Ai翻滚
新建一个变量,范围是0-1,代表Ai受到攻击前翻滚的概率,同时可以把他提升为public,这样在外面就可以直接改了,
然后,根据这个DodgePercent随机生成一个布尔值,如果是true,就让Ai随机播放一个翻滚动画,如果是false,就执行正常的挨揍逻辑。
delay限制他不能翻滚后立刻攻击