How to get a precise hit event without collision response

We don’t want our flying pawns to be moved by projectiles, but we want to draw impact decals at the exact hit positions.

  • We observe, that client pawns get rotated by hitting a projectile (primarily while flying towards the projectile).
  • If we switch from blocking to overlap collision, we don’t get the exact hit position anymore.
    Adjusting the objects mass ratio can reduce the problem, but does not solve it.

Is there a way to ignore / override the collision response, but still get the exact hit location?

We observed projectiles can be a performance bottleneck when physics simulation is not enabled, so ideally this would work with “Simulate physics” enabled.

I think its possible to register custom response callbacks if we go down to the PhysX layer, but I would like to keep my hands away from that.

There are already a couple of unsolved posts which I think are all basically facets of the same problem

Regards
Sven

Hi Sven,

Like an option you can try to use trace to determine your contact point.

Best regards, Gleb

Well, what we did now is onOverlap we do a trace from a point in negative direction to the projectile’s velocity (ProjectilesRearmostPoint - Velocity * PhysicsDeltaTime) to the current projectile’s foremost point and use the foremost point if the trace has no result (which happens if the projectile sphere scratches an object, without hitting it with its center).

Works for us, but its a workaround.

I still hope there is (or will be) a combination of checkbox marks that enables precise hit detection without (predefined) collision response.