Animations - set bone transform based on another ABP's other bone transform

Here is Anim Graph with pose from another ABP and Transform (Modify) Bone node:


But how to get transform of some original bone (from the other ABP) in the same graph? @ClockworkOcean @Everynone, could you help me?

Hi @Etyuhibosecyu, let me try to help you with that…

First of all, I’m not sure I understand completely what you’re trying to do… Do you need a variable/output from the other ABP or do you need only the bone transform?

If it’s just the bone transform, does it work if you use the Get Socket Transform node from your character Mesh? Even if they’re different ABPs, that should give you the final value for the bone, since they’re being used for the same character.

Please let me know if that’s what you need or if it’s something else!

1 Like

Only the bone transform, but I do not need to just copy it, I need to perform some calculations and apply the result to another bone.

In the Event Graph? I tried this, but it gets the new transform each frame (and infinitely iterates on transform) instead of the original transform.

Oh, so you need the Initial value for the bone transform? You could use the Event Blueprint Initialize Animation and get the socket transform from there. If it still doesn’t give you the value you need, maybe because another instance changed the bone value, you could do it in your character BP as a variable and just get that variable from the ABP. Does that help?

But I need to do such a transform with each key of the animation, not only with initial one.

So you need the values of the bone transform for every frame before the other ABP applies modifications to it?

Could you explain what you’re trying to achieve with that? I don’t understand exactly why you would need those values, maybe if you share your goal we could try to come up with a different solution.

But one thing that comes to mind is using Control Rig. It runs in sequence, so you would be able to save the original value of the bone before modifying it, but I’m not sure if it would work in your case, considering you have different ABPs.

Hello again @brs-ianferrari! I try to, for example, make a character that fights with two identical weapons whereas the animation is for one weapon (I live in a poor country and pay several tens of dollars for each 2-3 animations (because the other ones in the typical pack are N-th versions of walking, running, death etc.) is not suitable for me). I try to achieve this with many different weapons and buying one pack of animations with one particular pair of weapons is not a solution. I need a universal solution to do this with every one-handed weapon.

@brs-ianferrari, maybe I stated it unclearly, for example, there is an animation for, say, dagger in the right hand and the free left one, I need to set left hand transform to mirrored transform of the right one. Maybe this does not need to transform ABP, just one animation, but the animation and the ABP are the same type of pin in the Anim Graph. Also my skeleton does not have IK pseudo-bones, I think it will influence using Control Rigs.

Sorry, I’m still a bit confused… Are you just trying to copy the animation from the right hand to the left in real-time? If yes, you could do it with Control Rig, it’s not necessarily tied to IK or anything, you can use it to modify bones and many other things.

For example, you could do this to copy the animation from the right hand to the left (and any other bones you need):

Depending on your hierarchy, you might need to do some calculations to get the correct transform. And instead of the Item Array, you could use a Get Children node, but it might not work if it gives you a list in the incorrect order.

Please let me know if that helps or if you need something else!

1 Like