Hi, I’m trying to get the impact point of a MultiSphere trace but it looks like that it is returning the sphere location instead.
Please see the link below for more information. (I’ve posted it earlier in the blueprint section but couldn’t move it here).
Is this a bug or I’m doing it wrong?
I tried with MultiLine trace and it works fine and returned me locations of actual impact (on the wall) instead.
I’ve tried with just WorldStatic but still the same.
I’ve just tried it with C++ but I’m still getting the wrong impact location. I’ve added the code below to replace the default jump function of the game character class from the 3rd person template.
Thank you for bringing this to our attention. This report was missed when we migrated to our new tracking software. I re-entered this as JIRA UE-7826 in our system and the developers will be investigating the issue further.
I looked in to this and it actually doesn’t appear to be an engine bug, but it’s something we can message more clearly so I’ve taken some steps to do that.
In cases like this where you make a query and are initially overlapping something, we can’t really determine a good ImpactPoint or ImpactLocation, because you started in the object with more than one point of contact (a whole surface of contact). In this case we set Location and ImpactPoint to the start location.
I added a new bool to BreakHitResult to report “Initial Overlap”, and improved the comments on the other relevant fields to hopefully make this more clear in the future.
See my answer to the post. This is not a bug; in the case of initial overlaps there is no defined ImpactPoint or Location. 4.8 will make this more clear in the exposed values in BreakHitResult and in documentation.
What is a good work around then? For instance I’ve got a grenade and am doing a multisphere line trace from the actor’s origin for any damagable actors, simulating shrapnel damage. Once I got the impact point, I’m tracing back to ensure the hit location isn’t blocked by some non-penetrable actor.
However, in this case the trace starts at the grenade’s origin, and thus initially overlaps damagable actors. I’ll provide pictures if my setup isn’t clear.