• 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限制他不能翻滚后立刻攻击

  • 相关阅读:
    C#中Equals和= =(等于号)的比较)(转载)
    C# 控制台应用程序输出颜色字体
    c#获取当前运行程序所在的目录
    java环境配置
    c#随机产生颜色
    Git学习
    git删除所有提交历史记录
    git忽略项gitegnore配置
    不搭建git服务器对git仓库进行局域网内共享多人合作开发项目
    搭建Git服务器-SCM-Manager
  • 原文地址:https://www.cnblogs.com/reluctante1/p/13062348.html
Copyright © 2020-2023  润新知