Retargetting Mocap Animations to UDK

Hello guys. I am having a hard time and too much headaches trying to figure the best way to get mocap anims on the default UT3 Skeleton. I tried many workflows using many softwares (3dsmax, Maya, Motion Builder) to do this however, the retarget process is very buggy and the animations get messed up. I think that`s because the differences on the skeleton of these mocaps and UT3 Skeleton.

The best thing I was able to achieve was by using the HumanIK plugin for Maya 2018. The animations got retargetted however it did not work out of the box, I had to tweak many parameters of Human IK, and even then I had the need to manually fix some bugs on the animation using Motion Builder, The result was not so good neither worthy, because it took too much time.

However I exported the default character and skeleton of these mocaps to UDK (not using UT Skeleton), and the animations did play perfectly inside assets browser. So because this I decided to don`t use the default UT Skeleton, rather, I will rig all my custom characters to this custom mocap skeleton.

But now my question is: What I need to use custom skeleton in UDK? Do I need to create a new AnimTree or I can use UDK Animtree? I intend to keep the same name of the default UDK Animations, however just overwrite them with these mocaps.

Cheers.

Animtrees are not linked to the skeleton (which is really nice, and doesn’t happen in UE4) - unless you use things specific to bones (animnode blend by bone, skeletal controllers, aimnode, etc) in which case I think those nodes will not work properly
therefore you can just import your mesh using your custom skeleton, create a new animset with the new animations (keeping the same names), and use the UDK animtree. and it should work

Thanks bro!!!

Just one more question I know I should ask at autodesk forums however I prefeer my folks here at Unreal engine forums.

I did follow the oficial autodesk tutorial on YouTube about retarget animations using maya humanIK plugin. On the vídeo the instructor shows (make appear) that the retarget process is just one click and everything Will work outside the Box.

​​​​​​I did follow this tutorial step by step many times (almost one week) trying and retrying all the thinkable and unthinkable possibilities.

I tried with Maya, Motion Builder and 3DS Max without the same result the autodesk instructor achieved.

On all my trials using diffeeen skeletons and diferent skeletons animations.

​​​​​​I can say it worked i did successful retarget the mocap anims to Ut3 skeleton and to other custom skeletons but no one did work with just a click like on
​​​​​autodesk tutorial, rather, for these anims work well inside Udk i did need to clean Up the anims in Motion Builder manually keyframing because many bugs appeared like the character head popping Up and down, the hand bones got twisted and so on.

That’s the reason why i think is easier for me use the custom skeleton of the mocap instead of using the default Ut Skeleton.

so my complain here is that Autodesk HumanIK is not that good for retarget animations from one skeleton to other. Rather i use a free scripts for.3dsmax called bippy which was created by a hobbist which converts Fbx to biped and the results were even better thans HumanIK.

Cheers
​​​​​​
​​​​​

Hello guys.

Just for the sake of information, it may be usefull for someone here.

After many days of headaches and trial and error I already found the best way to use any animation for UDK, using the default UT3 Skeleton.

I have done it with Motion Builder 2013, however it may work with Maya LT (student version) aswell, because both use the Autodesk Human IK Plugin.

You need first to import the animation to either maya or motion builder. If you are using bvh mocap and you use maya you need to download a free maya phyton script which imports bvh.

The secret is so simple, the process works almost 99%, you may need to do just some minor tweaks for the animation because sometimes depending on the mesh of your character some limb may overlapp others.

The secret is that you need to go for the first keyframe of your animation and manually rotate the bones to make the character in T Pose. Then after this you need to create a skeleton definition (HumanIK Panel) which you can save as a template. You just need to tell Maya / Motion what bones are the head, arms, legs, and so on, so you will remap the bones of your animation for the HumanIK Skeleton definition.

After this you need to characterize your skeleton (create the control rig) in HumanIK Panel. By doing this you will have a snapshot of your character in T Pose, and for the other animations you don`t need to do all over again (so long as the other animations use the same skeleton structure).

So now we are done with the animation.

Next step you need to import a default UT3 Character to maya or motion builder. I just ripped the UDK Guard using unreal model viewer, imported to 3dsmax and exported to Motion Builder as FBX.

Once you have your UT3 Character in Motion Builder / Maya, you do the same procedure you have done to the anim. Manually pose the character bones in T Pose, create a skeleton definition, create the control rigs.

Now you have 2 characters ready for animation, the BVH (Mocap) Animation and the UT3 character.

The first character, the BVH Animation already has the animation, while the UT3 Character is static, no animation. You now just set the source animation of the UT3 Character to the BVH Animation (there is a drop down menu in HumanIK Panel).

Now the default UT3 Character moves as the BVH animation, almost perfectly.

Now you plot the Ut3 Character Animation to the control rig, do some tweaks, then plot the animation to the skeleton, then last you go for the HumanIK Panel and select save character animation as fbx, import in UDK animset, and voilla!!!

Works like a charm!!!

:smiley:

sometimes you may need to move a bit the root bone of the animation to match the standard UDK animset to avoid much offset of the animation.

Sorry for not being able to do a more complete tutorial, I just wanted to share what I learned.

Cheers guys!!!

It looks like you got it.Im kind of late,but i have done this path.And it is easy to retarget to a unreal skeleton(in my case maya 2012).The most important thing is to have the scene set right and folow a order.
1-have the main character and source character set in the initial bind pose
2-do the skeleton characterization on the 2 skeletons.
3-lock the properties of the main character and than retarget.
4-fix the properties and than bake the animation
5-when i have my character ready with the selected animation,i first select the root joint>than in the mel tab i write select-hi and hit ctrl+enter.It will select the whole skeleton.Than having it selected,select the mesh and export.Or export the full scene.

A few days ago,i even retargeted a human walk cycle to a t-rex and it works perfect :wink:

Yeah bro, all the secret involves setting both characters in T Pose. For make things easier, I have created a kind of UT3 Template in motionbuilder 2013 with the skeleton definition and control rig setup. And for each set of mocaps, I created also a template, the skeleton on Tpose with control rigs, so then i just need to merge to this template the other mocaps animations of this specific set (each set has its own skeleton), then set the animation source of UT3 Skeleton to the mocap animations.

I worked with 3D animations for TV advertising many years ago, before working with game development, however, whenever I began to work with games, I focused only on 3dsmax and trully had forgotten many things I used to do in MotionBuilder. I used motion builder 7 (pretty old :D), and now with these new editions of Mobu and HumanIK the workflow has improved and things are much easier and faster now.

So after some days and reviewing some basic Mobu tutorials, I got it.

Anyways is very cool to share knowledge here and there.

Cheers for all.