UE4学习日记(十)更加精确的攻击检测
前面做的攻击检测太过粗糙,直接使用一个巨大的检测框进行检测,导致很多时候武器还没挥出去,怪物就已经受伤了。
现在我们来做更加精确的攻击检测。其思路就是通过在攻击的过程中,不断的生成小一些的攻击检测框,已达到精确的攻击检测的目的。
首先是攻击检测事件
注:【以事件设置定时器】就是在一定事件里不断的以time的频率执行Event事件。
在骨骼中【设置两个插槽】,位置为你希望检测位置的起点和终点。
如:
并进入编辑->项目设置->引擎->碰撞。新建一个Trace Channels,命名为【Enemy】。这个就是通道。后面【通过通道检测盒体】,只会识别可以阻挡该通道的碰撞体。
记得将你的怪物的碰撞,改为自定义,然后将Enemy通道改为阻挡。
接下来开始编写被【以事件设置定时器】不断刷新的事件。
然后在攻击动画后面调用即可。
注:start time 是开始检测事件,end time是停止检测时间,rate是刷新频率。经尝试,小于0.01之后的刷新频率基本和0.01没啥差别,应该是引擎的刷新频率只有这么快吧。
为了看效果,打开DrawDebgType.
最终效果。