Mixamo, Root Motion and Unreal Engine 4

Hi,
I’ve downloaded Mixamo characters with root motion but after import to Unreal Engine 4 it doesn’t work properly. You can look on this video:

Please help me.

Thank you,

Hi ,

It is difficult to tell from this video why your character moves so jerkily, but root motion seems to be only be part of the problem.

To make sure that your character uses root motion during this animation, you have to place it into an AnimMontage and check ‘root motion’ inside the AnimMontage properties. However, if the character’s root motion only applies more-or-less constant velocity in one direction (it looks like that in the video), it may be easier for the moment to leave root motion unchecked and to make sure in the character’s Blueprint that it’s movement component receives the right amount of constant forward motion for the duration of this animation.

It think that that may be easier because UE4 doesn’t support root motion on any thing other than AnimMontages for the moment. Once root motion is supported for blended animations as well (it’s supposed to come in June '14), that will be the better option.

Hope to help! /Wendelin

In this video you can see that I checked “Root motion” inside the AnimMontage. Look it again :slight_smile:

: if you need help, you have to make it easy for people to help you. Your post above does not specify exactly what the problem is that you’re having. You then brush off my attempt at being helpful. That’s not how this works, you know.

1 Like

Things like this should really go on the answer hub if you want a speedy response.

If you check the mesh inside of a 3d editing software Maximo meshes doesn’t have a root joint that strictly handles translation as they have their own system for exporting root animations. This means that when imported the engine can either treat the origin point as the root joint and then not lock down translation at all or it can use the hips joint as the root which also has rotation data attached to it so that when locked to root can make the character do some weird things.

2 ways to fix this:

  1. export the animation as root from maximo and just not worry about having to lock it down in engine
  2. open the animation in maya or your preferred software add a root bone then copy any translation data from the hips joint too the root joint, this can take some tweeking as rotations may need to be offset (I’m not sure if there is a script out there to do this automatically for you)

hope that helps.

A little tip: If you want to debug root motion, with the console command “show COLLISION” you can always keep track of where your capsule component is located (capsule component sticks to the root if root motion is enabled).

I had a problem with my root motion and I had to change my skeleton set up for it to work correctly…
79cec3b5b1650ded02860994f855bf3a726e1ef3.jpeg
Try and change your Hips to skeleton and see if that does it for you…
Not sure if that’s the same problem I had but I hope that it helps…

Thank you but it doesn’t helped me :frowning:

ImmortalEmperor already did answer your question, didn’t he?

Your animation is not fitted for root animation because in the animation the root is not moving. And he gave you 2 ways to fix this.

It sounds great but you know how to add only one bone to existing skeleton? I googled internet and I didn’t find any information about that. I only know how to make NEW skeleton but don’t know how to add only one bone to existing skeleton. I prefer 3ds Max, Maya or Blender.

I hope that you know about this and you can help me.

Wishes,

In Maya open up the join tool an create at single joint at the origin just by clicking on the grid. To parent the rest of the skeleton in the outliner you can: middle mouse click and drag the root joint of the Maximo skeleton to the new joint you just made in the outliner. Then that bone should become the root of the joint hierarchy. you can see this in the view port as a bone will be created between the two joints.

Just remember that this wont fix your problem by itself you will need to remove the X and Y (or X and Z if you havent changed the axis in Maya to match Unreal) translation from the hips and place it now on the root adjusting it for any offsets due to rotation.

The easier option is just to download the animation again with the root motion activated on Maximo.

I’ve downloaded the animation with the root motion activated since we started discussion about this issue. I’m not stupid and I know that in Mixamo “Root Motion” must be enabled. I was talking about with Mixamo Premium Support but they said me that it is problem with Unreal Engine 4 and in Unity this works correctly (and it’s fact, I’ve tested it in Unity and it works good). Unfortunately, we should find another solution for this problem. I’ll try what you talked about Maya and join tool and I’ll tell you if it helps me.

This helped me! Thank you very much! :slight_smile:

I was running in to similar problems with Mixamo animations, but am not so good with skeleton manipulation in 3d packages.

I submitted a pull request: https://github.com/EpicGames/UnrealEngine/pull/198 - with those commits applied and the new (badly named) “Ignore Root Motion Z” option checked I was able to get decent root motion from Mixamo models/animations.

Hope that helps someone.

Thank you campd for the pull request, I think that will help a lot of developers.

We are in the process of improving our root motion support as well as our pipeline for supporting Mixamo animations. This is very important to us.

Is some solution known yet? Im having exactly the same issue! :frowning:

Here is the proper answer.

Firstly, for Game Engines Import from Mixamo never…repeat…never use Root Motion from the Animation interface. Always use In Place. Some animations like mainly Climbing, Hanging, Jumping, Diving…etc all have Root Motion ‘Inherent’ in the animation. No way around that. You can easily track the hip position/location so the End Location is the New Location then simply Blend Out of it.

The Mixamo AutoRigger does NOT add a ROOT BONE. This is not an Unreal Engine issue but a Mixamo issue that they are resolving but not complete as of yet.
Of note if you have Read the UE4 Docs: Root Motion | Unreal Engine Documentation

Quote from Mixamo Forums:
You may need to create a root node where to store the proper translation components:
We are working on a solution that will not require the users adding a root node as a parent of the hierarchy.

If you do not want to add the Root Bone to the hierarchy then you CAN track the position of the hips and use that as the Simulated Root Motion. You will need to attach the UE4 physics bubble in a crafty method for collisions…so…better off adding the Root Bone and reimporting the FBX.

Good Luck.

Im having some issues with the root motion on z axis to…

Is this fix still needed as per 4.8, and with the new mixamo models including the root bone?

Im having some issues :frowning:

From Mixamo

https://community.mixamo.com/hc/en-us/community/posts/204405007-Root-bone-not-moving-along-z