I’ve written some code in UE5EA that tries to determine the distance it needs to move a mesh actor based on its interpenetration with another mesh actor such that the former is only touching the latter. It uses ComponentSweepMulti and then uses the penetrationdepth to determine how much to move along a selected normal from the first to the second actor.
The problem I am running into comes from the fact that the static mesh in question has a rotation on the collision shapes assigned to it:
This collision acts normal in the world, it only seems to fail when it is used in a sweep test like this:
World->ComponentSweepMulti(HitResults, TouchingActor->GetStaticMeshComponent(), TraceStart, TraceEnd, Rot, ComponentParams);
The sweep seems to ignore the collision’s rotation in addition to the component’s rotation. Is this the correct implementation? It feels like a bug to me. I’ve attached a simple example which shows the issue. Thank you.