Download

Blender to UE4 root motion not working

Hello, I am using Blender and UE4. I have attached pictures for what i will be referencing.

I’m trying to export an animation to UE4 with root motion, but it seems to not work well. The character’s “HeroTPP_Character_001” root bone stays in place when the root motion animation plays in unreal, while if i click on the “root” bone i can see that it is moving along with the character and is connected to the “HeroTPP_Character_001” bone with a yellow line.
In the pictures you can see the structures in blender and in unreal, also including my export settings to fbx.

If someone can help me fix this I’ve been stuck for 2 weeks now.

Thanks in advance!

It’s a known problem. Your root motion is not playing because the bone “root” is not your root bone, “HeroTPP_Character_001” is. That’s because Blender’s FBX exporter adds an additional bone as the new root. (I don’t know why, but I always assumed it’s to make sure there is only one root node in the skeleton.)

There are two ways to fix this.

  1. Rename your Skeleton to “Armature” Sometime around UE 4.16 Epic patched the FBX importer to remove that additional root bone. Caveat is that it only works for Skeletons if they’re named “Armature”. If you have more than one skeleton in your Blender file, you essentially need to rename them every time you switch from exporting one to exporting the other.

  2. This is still the cleaner version in my opinion. The FBX exporter is located here: [BLENDER ISTALLATION PATH]\2.79\scripts\addons\io_scene_fbx\export_fbx_bin.py. Open it, find the follwing code snipped and comment out the code below. After that, your skeleton should export without the extra bone created. If root motion still won’t work, it is likely one of the settings you set in the Unreal Editor.



elif ob_obj.type == 'EMPTY' or ob_obj.type == 'ARMATURE':
      empty_key = data_empties[ob_obj]
      connections.append((b"OO", get_fbx_uuid_from_key(empty_key), ob_obj.fbx_uuid, None))