IK Retargeter is not retargeting IK bone information

I’m using a custom ik rig solver to constraint the ik bones, #5 Constraint IK Bones - Retarget Paragon TwinBlast to ALS - UE5 - YouTube.

The left over on my plugin is how to handle 2h based overlay states. Then I got everything working on TwinBlast, Mixamo and MetaHuman. :wink:

So far I know exporting and importing the animation will only work for characters that have the same proportions. And of course if it the Epic skeleton hierarchy. For mixamo based characters it will not work. Furthermore I had no luck with MetaHumans.

But it can achieve quite good results with the hands. Sometimes ik retargeting can mess them up.

I managed to get 2400+ Mixamo animations retargeted to UE5’s Manny skeleton using iclone 3dxchange.

So for anyone who owns a license to Iclone and 3dx7, this is a way to go. Download your desired animation packs and convert those to UE5 using 3dxchange.

In the past, Mixamo had an option to download animations and characters rigged to the UE4 mannequin, but unfortunately that option was supressed by Adobe months after the acquisition.

Hi,
This is because of changing Target IKRig Asset in my case to metahuman RIG :
image

This apply Auto-Map Chains (Don’t know why…) and you must set all Target Metacarpal and Twist2 to none in Chain source column like said Elijen :

It helps if you post the case number here. Can you look back in your mail history? I think it would be good to sent a reminder or ask for a small clarification. It should be clear for Epic that it is a problem if they look at this post. And if it’s not a bug, we ofocurse would like to know how it’s intended to get it right. I am not seeing anything about it on the roadmap or 5.1 preview release.

I don’t think this is the answer to the question: IK Retargeter is not retargeting IK bone information

It’s a workaround with the use of virtual bones which will only work with same proportions and is still buggy. It does not help me to find the answer to this problem.

Checkout my YT videos,

Yeah, this is about the only real solution that doesn’t involve modifying each animation with the proper constraints. ^

For anyone else:
IK bones by default are constrained during animation to follow their corresponding bones throughout the animation.

Retargeting them seems to offset them but they aren’t, they are in the same place, it is in fact the hands that are offset due to the fact that the Arms are Longer/Shorter then the other characters

This can’t be circumvented using any method provided by the Unreal Engine.

Translation Retargeting Settings won’t help
Retargeting won’t help
Sharing Skeletons…won’t help

Nothing…

The toolkit Tuatec has made is the closest thing to a real automated solution you are probably going to find.

One suggestion offered was to share skeletons and create a Virtual Bone from the head to the hand and then from that Virtual Bone to the other hand. I haven’t tested this though


  1. Enable retarget option
    2.and set those bones that require animation position to be copied to "Animation " instead of “Skeletone”
    then when you retarget from the the manager it will copy the ik transform positions and rotations

I’ve had some success in using virtual IK bones on a custom character but it has always been buggy and imprecise. Here are my most recent findings…

Virtual bones worked acceptably for a while, but with increasing complexity of my needs, I decided to revisit my character skeleton and actually add in the IK bones, and delete the virtual bones.


Adding the IK bone structure in blender. What I found to work is to make the foot IK bones overlap / exactly match the direction and length of the foot bones. Apparently it is not possible to have a 0 length bone in blender, so my root bone is just a stump. Roll should be 0. They should not have any weights.
The actual ik_foot_root bone, from observation of the Mannequin skeleton, should apparently line up with the ‘ankles’ (start of the foot bones)


Here’s the mesh imported into unreal engine.


IK rig with retarget chains.


IK retargeter. I set the chains Translation Mode to globally scaled.

Retargeting Options for BOTH source animation and destination IK bones were set to Animation.

5
Here’s the result. Similar to what other people on this thread got. The ik bones generally point where they are supposed to during the animation, but the tail of the IK bone is not connected to the FK bone. I dealt with this before (with virtual bones) by using a series of Copy Bone and Transform(modify) Bone nodes in my AnimGraph to force the virtual bones to connect to the FK bones. I may try this approach with actual IK bones.

This result isn’t as precise as I hoped it would be. For Foot IK it works well enough, but I am going to recreate the ik_hand_gun structure next, and I need precision for that.

@tuatec
I have installed and tried out your Toolkit following the instructions here (#9 Constraint Solver - IK Retargeting with TTToolbox 4 Beginners | Unreal Engine 5.1 Manny ALS - YouTube)

in particular the Constraint Bones solver seems like it is exactly what I need. I can see that it’s working in the IK rig, but when I retarget from UE5 Mannequin to my skeletal mesh, it doesn’t seem to have any effect. Does the Constraint Bones solver only work for ALS animations? I am not using that. It is kind of hard to tell from the wide spread of videos. Also I am using Unreal 5 but seeing the improved retargeter in your videos makes me want to upgrade to 5.1.

I am working on a 5.3 integration currently. Will be published soon.

Does the Constraint Bones solver only work for ALS animations

Of course not! It is implemented for all UAnimSequences. :wink:
Maybe your retargeting options are not correctly setup for your mesh. See get metahumans working · Issue #11 · tuatec/TTToolbox · GitHub or see this post IK Retargeter is not retargeting IK bone information - #50 by Sab_Rango.
We have to use Animation for the IK Bones. Otherwise the online retargeting does mess up the locations again. Also you should set your mesh as preview mesh other proportions might mess up the locations as well.

Outside of Tuatec’s plugin which I have not tried, there does not seem to be an accurate solution outside of snapping the IK bones to the target bones in every single animation with the Sequencer. I even attempted to make a second retargeting setup specifically to move the IK bones to the targets but it does not seem to work. My only guess at this point would be that my skeleton’s IK bones are parented to the root bone and not an explicit “IK root.” I will try update my hierarchy now. If I do not come back to this comment then it didn’t work.

This thread should definitely not be marked as “solved.”

I made an editor utility blueprint to make this easier to fix. I put it up on blueprintue if it helps:

Unfortunately, while doing that I ran into a different bug/limitation, where one of the structures needed to save animation sequences is not exposed to blueprint, so a tiny c++ code blob is required to get export to work. I put the code in a comment in the blueprint.

The blueprint expects:

  1. A level sequence to be loaded, and populated with a skeletal mesh that matches the animation skeleton.
  2. A control rig that works with the same skeleton, added to the skeletal mesh in the sequencer, that snaps ik bones to hand and foot bones as necessary. I think such a control rig is shown in this thread somewhere, but if not I can reproduce if needed.
  3. The variables detailed in the blueprint need to be set up. There’s a comment in there with them all.

To use it once things are set up, you can select one or more animations, right click, and do Scripted Asset Actions → snap IK bones

Anyway, sorry it’s not a one-click solution, but it works, and can save a lot of time if you have lots of animations to fix.

why is this still an issue…

Rm Fix Tool has quick snap IK option, also fixes any root motion problems RM Fix Tool in Code Plugins - UE Marketplace (unrealengine.com)

I had the issue with the IK bones not matching up in the retargeter, I couldn’t find a solution online and it wasn’t caused by virtual bones, I found in my case it was because I was creating single bone retarget chains, it actually needs at least a two bone chain to work properly.
Initially I just had the foot IK bone like this pic;
ikfootl

When I changed it to this it worked ok;
ikfootl2

For the IK Hand bones I set up three chains of two bones, root to gun, gun to hand L and gun to hand R;
ikhand

Once that is set up in the IK Rigs, in the IK Retargeter after mapping the chains together, each of the Chain Maps needs the Rotation and Translation setting with the Alphas at 1 like this;
ikset

Hopefully this will help some people who are still learning the retargeter settings like me.