Apply radial damage node doesn't damage actors
My actors to which I am trying to apply damage have a capsule component (They are inherited from the Character unreal standart class). When capsule radius or height is big and actor's location vector doesn't overlap with radial damage, but its capsule does, my actor doesn't get any damage (Event AnyDamage isn't called). I have my own collision channel, my own prevention channel. I have tried all 3 ^ 3 settings for those 2 and Visibility channel.
Apparently, after some experimenting on this, I found the possible source of this issue. ApplyRadialDamage calls ApplyRadialDamageWithFalloff, which traces lines to all overlapping components on Damage Prevention Channel for all dynamic objects. If trace line does not hit, then it uses the origin of the bounding box of the component. Then, I believe, hit location of this trace is passed to function, that calculates falloff. If the distance between hit location and origin bb is higher than the damage radius, function sets the actual damage to 0 and returns as if you passed 0 to base damage.
Solution: If your actor collision is bigger than the damage range, then you should set your collision channel to block on victim. Also, make sure that your component's collision is not static, since ApplyRadialDamage ignores it. I also recommend to ensure that collision components inside your actor do not overlap with each other, or at least their origins are outside of other collisions.
Follow this question
Once you sign in you will be able to subscribe for any updates here