zoukankan      html  css  js  c++  java
  • 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限制他不能翻滚后立刻攻击

  • 相关阅读:
    消息中间件三、RabbitMQ学习一
    消息队列学习一 概念
    发送网络请求调用第三方接口(spring boot框架)
    动态生成javaBean
    达梦dm数据库远程备份与恢复
    springboot定时任务的使用
    抽象与接口
    电商网站后台九大功能模块详解
    面向对象设计—类和对象
    常用的数据结构—数组
  • 原文地址:https://www.cnblogs.com/reluctante1/p/13062348.html
Copyright © 2011-2022 走看看