Reset Relative Transform incorrect

When setting my skeletal mesh to ragdoll, it would become detached from its capsule component. To remedy this, I used a “Reset Relative Transform” function in the actor’s BP on the skeletal mesh; however, this would always transport the mesh to the same world location irrespective of the location of the capsule when the function was fired.

I was able to fix this by getting the world transform of the capsule, then offsetting this transform by the default relative transform of the mesh in the component list, and using that value to set World Transform of the mesh. Which it seems is what Set Relative Transform SHOULD do to start with, but it performs incorrect math.

tl;dr if I get the world transform of the capsule component, combine it with some transform [X], and use Set World Transform on a child component of the capsule, that should produce the same results as simply using Set Relative Transform on that child component with [X], but it doesn’t do this. Instead setting Relative Transform SEEMS to be setting the WORLD transform of the component to the value supplied by the relative transform.

I just had this issue, and solved it with:

MyComponent->AttachParent = RootComponent;

(Actually, I used my local mesh component, but it was already set to RootComponent.)

I was honestly very frustrated that Relative Location and Relative Rotation were being interpreted as World location and rotation. And I even tried setting bAbsoluteLocation to 0 because it looks like from the documentation that it is set to “true” or 1 by default. That didn’t work either. And in the Components section of my derived blueprint, everything looked ok, but on the scene itself all the sub-components were overlapping each-other near the world origin.

Anyway, I hope this solves your issue too.

Hey RhythScript-

Are you still experiencing this issue in the latest version of the engine? Was smilingrob’s suggestion able to help you with your blurprint? Let us know if you’re still seeing this bug and what steps you take to reproduce it.

Cheers