Animation retargeting ignores root

Hi,

I am currently working on getting a better skeleton into my game and while retargeting my animations worked fine in the 4.10 preview, there now seems to be a bug that the root motion data is ignored and stays in place at 0,0,0.

Of course I followed the steps of the retargeting tutorial and the root bone is set to “Animation”, the pelvis bone to “animation scaled” and the rest to skeleton…

I also found out when I uncheck the checkbox “convert spaces to new skeleton” that the root bone information is then in the new animation, however then the rest of the animation data is not really usable for my new skeleton.

I also tried the same process in 4.9 but it also doesnt work there which is very strange… I know that it worked in the preview of 4.10 … I still have some animations that I retargeted in the preview.

Is this a known issue?

Hi dj_joey,

Since you are using a unique skeleton, please provide your files so we can better diagnose the problem. If small enough you can attach them here or you can send them to me in a private message via or forums: https://forums.unrealengine.com/index.php

Thanks,

Steve H.

Hi Steve,

I’ve sent you a private message.

Let me know if you need anything else.

Regards
Joey

Neither the root nor the IK handlers exist in the new skeleton you are retargeting to, which is what makes the animation appear tethered to the ground vs floating in the air as in your example:

To resolve, please retarget to a comparable skeleton.

Thanks,

Steve H.

Sorry but I don’t get it.

I know that there are no IK bones in the new skeletons but there is a root bone which is also labeled root?

If you click on the root bone in the first skeleton where the animation is ok you can see the root bone moving during the animation. So the movement comes from the root bone right? Why isn’t this movement applied to the new skeleton’s root bone?

Regards
Joey

Open both animations and size the windows so that you can compare them side by side. In both Viewports, select “Show Bones.” With both animations playing, you see that on the new skeleton, at the end of the root bone, the animation hinges on the pelvis. On the original skeleton, at the end of the root bone, the “ik_foot_root” joints drive how the feet move and/or stay in place.

Also note in the picture above, with the skeletons collapsed, the hierarchy of both sets of joints: In the original, ik handlers for the feet and hands are parented to the root with the pelvis so all move together driven by the root. If the ik handlers existed in the new skeleton but were parented way down the list of bones, like at the end of “Toebase_R or L” you would get the same floating effect.

I see the differences…
However how can the ik joints even influence the animation if there isn’t anything weighted to them? Aren’t they just used for animating itself and inverse kinematics in the engine?
I mean If I grab an ik-bone in Persona and move it around nothing is moving with them, but if I grab the root in the hierarchy list I can move it around and everything is moving with it (on old and new skeleton).

Let’s look at that particular animation:
If I click at “root” in the hierarchy I can see the tetherpoint at 0,0,0 (let’s call it roottail) and I can see the other point, where the Pelvis and the IK bones are attached (let’s call it roothead).

67843-headandtail.png

If I now play the animation on the old skeleton, I can see the roottail (tether point) at 0,0,0 like it should be and the roothead moving arround on the floor (like it should),

but if I play the animation on the new skeleton the roothead is always at 0,0,0 just like the roottail. It’s exactly like it would be if I enable root motion on the animation on the old skeleton, which would just fix the roothead at 0,0,0 - which is exactly what’s happening in the new skeleton - the roothead stays at 0,0,0.

Why is this information of the root joint not carried over to the new skeleton?
Even if there aren’t any IK joints in the new skeleton, shouldnt the root bone’s translation (roothead movement) be applied anyway?
Aren’t this two completely different things?

Best regards
Joey

EDIT: I’ve sent you a new version of my skeleton which includes the IK-Bones in basically the same hierarchy as the old skeleton but the result is the same, the root translation is still lost when retargeting the animation.

Hi Joey,

As I mentioned in our correspondence, I was off track on my initial assessment of this issue but was ultimately able to use your provided file to reproduce the issue with the new skeleton as well as the Epic Mannequin Skeleton. Using these results, I’ve entered the following bug report: JIRA [UE-23809].

That said, I’m not positive this is a bug because I was not able to reproduce this using other root motion animations from the Market Place and retargeting them to the Mannequin skeleton. However, there appears to be enough interest in this issue here in the Answer Hub as well as the forums to warrant examining the problem further.

Either way, we will let you know the results with an update to this post as soon as it is addressed. Again, thanks for your cooperation and patience in helping to pinpoint the cause of this issue.

-Steve H.

Hi Steve,

well that sounds strange.
Thanks for looking into it.

Joey

UE-23809 has been verified fixed for a future release of the Engine.

Hello, can I get a status update on the fix? Thank you!

Hey beasthacker,

The fix for UE-23809 should be in 4.12.

-Matt W.