zoukankan      html  css  js  c++  java
  • UE4_攻击伤害1_射线检测

    首先在武器的结构体中添加一个代表武器攻击范围的变量

    设置上各武器的攻击距离(ps.ue4里的默认单位是厘米,如图长矛的攻击距离是200cm)

    读取当前武器的距离,发射相应长度的射线用于判定。

    在播放声音之前新建一个动画通知,用于通知该发射判定射线了

     然后把长矛的其他两个蓝图也加上同样的动画通知。

     在动画蓝图的事件图表中写入逻辑。

    当my attack front被触发时,获得角色的武器,如果存在,就发射一个Sphere 的射线(跟line的不同在于有半径,是个胶囊体)

    获得player的camera,以location作为射线的起点,长度为当下weapon的distance。

    上图把半径设成了20,下图为测试效果

    这个是匕首和长矛攻击距离不同的示例

     

    另,把player提升为了变量,这样每次调用角色的属性就不用来这里找了。

    可以把这一堆的攻击射线检测打包成一个函数,毕竟后面要经常调用。

    记得要返回射线检测的两个输出。

     长矛大概就这样,都是向前攻击的。

    然后做长剑的。长剑有左右攻击之分。

    新建两个动画通知,attackLeft和attackRight

     这里用的是一个盒型的射线检测(还要一种是mutibox,可以检测多个目标,现在这个只能检测一个目标)

    与之前射线不同的是他需要输入Half Size作为参数,用来控制盒子的大小,还需要玩家的旋转值作为盒体的朝向。

     测试是这个样子

    然后打包。

    既然有了盒型射线检测,那么不如把向下劈砍的动画也设成一个竖直盒型的检测。

    新建一个动画通知。并且在原有AttackLR基础上修改盒子的数据(调换一下y和z 的值就行)

     最后一个小匕首,都设成front好了

  • 相关阅读:
    pyspark读取parquet数据
    python求时间差
    pandas索引操作之loc,iloc,ix等方法
    pandas的concat和drop函数
    mysql语句的书写顺序和执行顺序
    hive的lower,upper,length,concat,lpad,rpad,cast,split函数简述
    hive的floor函数,ceil函数,round函数
    Pandas建立空的dataframe和cumsum累加函数
    Python基础笔记二之求序列均值、标准差、中位数、分位数
    NAT实验
  • 原文地址:https://www.cnblogs.com/reluctante1/p/12822345.html
Copyright © 2011-2022 走看看