Importing animations with root motion from Blender into UE4

First thank you for your help. A few questions. I changed the length to metric and unit scale to .01 like you said. Next went to the armature tab and changed all the transforms to scale 1.000 also the delta transforms were already 1.000 should i leave these the same? Hopefully i did that part right. Another issue i ran into again was that when I press a to select both armature and the rig and press CTRL A to apply transforms do I select location, rotation, scale or all of them? No matter which one I pick it will apply it ans when i attempt to run the animn. The mesh goes haywire but the armature will continue doing the right thing. How do i fix that before export. And one last thing. What did you mean by I will need to reanimate the root motion exactly. Like just key everything again? Or literally start from scratch?

I guess I wasn’t clear enough. Here’s a list of things you need to do (starting from the unit scale 1 scene)

  1. Change the scene unit scale to 0.01. Your mesh will turn tiny.
  2. Select the rig in object mode and scale by 100 times.
  3. Select the rig and do apply object transform, selecting scale. The scale for the rig should now say 1.000/1.000/1.000 in the n-panel under Transform.
  4. Select the mesh and do apply object transform, selecting scale. The scale for the mesh should now say 1.000/1.000/1.000 in the n-panel under Transform.
  5. Now if you play back your animation the rotations of the bones should be correct but the location transforms will be way smaller because the mesh size was changed. To fix this key the location keyframes again, meaning root motion movement of the root bone, hip movement up and down and so on.
  6. Export to UE4 and confirm that the root motion animation is working properly.

Okay, I’m still having a problem with the animation playing correctly after doing all the steps so I will walk you through what exactly I am doing just to make sure I am doing this correctly.

Okay First, I change my scene scale unit to metric, then I change the scale to .01. Like So:

Next, I Selected the Rig “In Object Mode” And Typed “100” into the each Scale box of the transform tab. Then, “Ctrl-A” And selected “Apply Transforms To Scale”. And the boxes that had “100” in them changed to “1.000” Like So:

Now When I play the animation, The mesh stretches Like, So:

So Step. 5 is where I get a little confused. You say to key the location keyframes again, how exactly do I do this. I’ve tried just going through the animation and just keying it but it just feels like I’m doing the wrong thing and also it doesn’t work which leads me to believe I am doing the wrong thing lol.
Now that you know exactly where I am in this process hopefully you can help me work out these kinks.

Thanks again!

You would select the root bone and insert location keyframes so the whole rig moves forward according to the steps of the walk cycle. And any hip sway and so on. Anyway it’s a bit weird that your mesh isn’t following the armature in pose mode. Also it’s probably not a good idea to have the rig below ground (red line), that will probably get you into trouble when importing into UE4.

Anyway it’s probably easier for me to see what’s wrong if you could share the .blend file.

I received the file, no idea if it was the right one since it didn’t have 0.01 metric scale. Anyway it was pretty messed up, some issues were:

  • Not 0.01 metric scale (pretty obvious)
  • Character was keyframed -180 degrees, when reset it was facing the other way (needed to reset in edit mode). Generally you don’t want to insert keyframes on the mesh itself, only the armature.
  • Character was not above ground (root should be at 0,0,0)
    and maybe some other things I forgot. Rather than explaining how to fix everything I just did it myself. No idea if it is perfect or anything but it should work out. I’m sending the file in a PM. Remember to disable Load UI in User Preferences - File settings before loading the file to make sure the file is using your UI.

The animations are still messed up. I fixed some of them, actually it wasn’t too hard. What you need to do is open the dope sheet, go to the action editor, select an animation that looks bad. Replace the action editor with the graph editor, disable the arrow if it’s selected (the one that says include only selected things), press the magnifying glass and write “location”, go further right and change the pivot point to 2d cursor. After that select all keyframes, press the scale button, then “y” to only scale them in the y axis and type “100”. That should hopefully fix the animation. Then just repeat that for every animation. I confirmed that the root motion was working in UE4.

I tried rescaling my animations up but my mesh goes crazy. I need to scale it by 100 for UE4.

If you’re using 0.01 metric scene scale you should have scale 1 in XYZ for both the mesh and the rig (and no scale keyframes in the animations).

I have a very challenging question I have a moose that has both IP animation and RM that I bought online only thing is for unreal the RM does not works its there but none working this is what the seller told me ( Hello! Unfortunately, to work in UE4, you need to redo the animation of the root movement in the original Blender3D file There is no other way to fix it.) would any one know how to fix? would be very helpful.