How can I import skeletons correctly from Blender to UE4?

I am able to import static meshes without any problems from Blender; however, when I add weights to the bones/mesh for animation, the .fbx file does not import correctly into UE4. The mesh appears “plastic,” and the root bone collapses into the origin, moving the other bones up in the hierarchy. Here is an example mesh I made to show the problem.

In Blender:

In UE4 (without skeleton):

In UE4 (with skeleton):

Re-imported into blender, the leaf bones are added correctly:

Solutions I’ve tried (including answers from other questions on the AnswerHub):

  1. Re-creating and exporting the mesh in other versions of Blender
  2. Exporting as .dae and using Autodesk’s Fbx Converter
  3. Using both the binary and ASCII .fbx exporters
  4. Enabling and disabling leaf bones
  5. Creating a “root bone” point at the object’s origin

I just need some way to create animations for my meshes, but there don’t seem to be any (free) options aside from Blender.

Update: It may be hard to see in the previous images, but the bone structure looks like the following:

The “head” bone is now the “neck” bone which is now the “body” bone.

Update 2: Here are the files used above.

[Test_Mesh.blend][6]
[Test_Mesh.fbx][7]

in your UE4 FBX import settings, make sure “import normals and tangents” is selected as the import normals method, and make sure PreserveSmoothingGroups is checked.

Thanks.
Importing existing normals and tangents fixed the material.
That just leaves the bone structure…

It’s hard to see in the images, but on exporting, Blender adds leaf bones. Yet, if you look at the bones in UE4, it would appear that the skeleton is unchanged. This is because the “head_end” bone has taken place of the “head” bone which has taken place of the “neck” bone etc.

I’ll update the post with more details.

could you provide more description of the bone problem, you said
“the root bone collapses into the origin, moving the other bones up in the hierarchy.”
but i don’t see that effect in the images you posted.

maybe turn off AddLeafBones and check OnlyDeformBones, in your blender FBX export settings.

Exporting with those options results the same, but without the leaf bones of course.

could you upload your blender file? maybe i can fix the export.

Uploaded.

are you sure there is some kind of hierarchy problem? rather than an optical illusion?

101109-parentbonehighlighted.gif

if you look closely, i think you will realize all of the bone names are actually at their correct location, UE4 just highlights the parent of the selected bone, which is weird. when you rotate the bone, the highlighted bone stays still, while its child rotates. i think that is a Bug in UE4, but its more of an unintuitive visual interface problem, rather than a functional problem. your animations should still work fine.

I filed a bug report that may fix this confusion in the future:

so vote it up, if you want a more intuitive bone selection system in Persona Skeleton editor. i believe the highlighted bone in the viewport should match the highlighted bone name in the SkeletonTree, and rotations should be applied to the highlighted bone, rather than its child.

You’re completely right!
I reverted to an older version of Blender to fix an empty “Armature” bone being added to the bone structure. But, the animations still didn’t work, so I thought the bone structure was still incorrect.
I created a new animation and it works perfectly!

Thanks for your help.

you don’t have to use an old version of blender, you can actually just replace the \scripts\addons\io_scene_fbx folder with the old version of that folder. that way, you are replacing the FBX exporter, without losing any of the new features in the new version of blender.

You’re awesome! Thanks, I’ll follow your suggestion.