How to manipulate a Bone from a World Space rotation?

I am using an AnimBP to drive an Actor with a Skeletal Mesh Component. What I am trying to do is get the character’s bones to mimic an angle that is derived from World Space.

The World Space angle is derived from Find Look at Rotation between two vectors. The player is able to change the position of these vectors and then the shoulder bone of the character is supposed to be driven to mimic that exact rotation.

I’m having trouble converting from World Space into Component/Bone space. I am using the Transform (Modify) Bone control in the AnimBP.

I have tried using Inverse Transform Rotation to get the proper rotation in all different spaces that I could think of (World, Component, Bone, Parent Bone). But it all seems to come out wonky, where the angle isn’t correct.

Anyone have any pointers? Thanks!

Can you not just create and use an Aim Offset for this?
I’m assuming you want the arm to “point” to a specific spot.
That’s what the aim offset does.

For converting, “look at” result angle has nothing to do with bones.
You have to add or subtract based on the rotation of the initial position and the initial rotation of the bone to find the correct value.

Thanks for the reply, I did not try with an Aim Offset.

have you solved it, i have the same question.
i only have the skeleton fbx and the bones rotation in world space.

I have solved it.

But I am not gonna post any solution here.

You scoundrel

2 Likes

Maybe this helps https://www.youtube.com/watch?v=uuFWqFExlW4