I’ve been trying to get the actual impact location from a MultiSphere Trace in blueprint but without success.
In the first image you can see the Impact point (black dot) which I get from the Break Hit Result(aka FHitResult) and the sphere start/end point(green) + bounds (red). I’m expecting the black dot to be on the wall showing the actual collision point instead.
I’ve tried setting TraceComplex already but still get the same result. The Location is the same as the impact point. I can get the bone names, actors etc correctly against skeleton meshes but the impact point still always stay at the sphere origin. Wonder if this is a bug or me doing it wrong? I’ve attached the blueprint below.
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.