Mesh won't merge bones to it's own armature

Hello, first time posting. Hope this is the right place.

So, i’ve got a problem when importing meshes, that no matter what i do, i can’t make them work with any skeleton that has not been imported right along with it, even if that skeleton is an exact copy of the armature it was attached to.

For reference, this happened between Blender 2.75 and UE4 4.8.1. I had been prototyping a character around last month, imported into UE4 (first time working with the engine, was trying to get acquainted) and a few hickups aside, it worked relatively well. Since then, i had been improving the Mesh, then recently re-imported it into UE4, only to get the “UNABLE TO MERGE BONES” warning that i’ve seen a good hundred times by now. Now, i had added two new bones at the very bottom of the chain since, but even removing them or going back to an earlier version of the skeleton won’t fix it.

Digging a bit further, i found out that for some reason, the Mesh now takes it’s primary bone to be the name of the Mesh Object, above the Root bone (the primary bone in my skeleton hierarchy). It effectively creates one more bone at the very top of the Hierarchy, that i have no idea how to get rid of, which it didn’t back when i first imported the model. I went back to UE4 4.7.6 and Blender 2.74 and then 2.73, thinking it might be a version problem, but lo and behold, the exact same thing happens. Worse, even if i rename the Mesh to coincide with the bone hierarchy, it still won’t make it function. It will at least open the model in Persona, but the mesh will just lie there in it’s A pose, completely unresponsive.

shot01.png

Does anyone have any idea how i can fix this?

Same problem here, “FAILED TO MERGE BONES” error, because now it exports ‘Armature’ on top of hierarchy… With UE 4.8.0 and Blender 4.74 it was working fine, i didn’t changed anything in my Blender → UE export workflow.
Has anyone figured out how to correctly export skeletal mesh from the newest Blender (4.75) to the newest UE (4.8.2)?

Sorry for double, but i think it’s important for Blender users, so as a bump/notify:
I’ve just installed Blender 2.74 back, and now it exports correctly, without the extra Armature object. So with Blender 2.75 there is a problem with exporting skeletal meshes, but with 2.74 it’s ok. If you have problems, revert back to 2.74.

@Kblargh, when you check it with 2.74, make sure you actually open your project with 2.74, because windows explorer might still point to 2.75 .exe of Blender (if you have multiple Blender versions on your machine). In my case, going back to 2.74 worked.

I use this tool:

[ADDON BLENDER] UE Tools - Community Content, Tools and Tutorials - Unreal Engine Forums.

It works perfectly for me, but I use the default mannequin. I can prototype AND animate and it all works fine for me. You do have to import the original mesh along with your animation then RETARGET the animation to the UE4 Mannequin though. But, all that aside EVERYTHING I’ve used this tool for has worked flawlessly aside from my own mistakes and moronic attempts at being creative. It also works with other rigs as well I think (at least that’s what the videos show, I’ve never tried it myself).

As far as the extra armature goes check this out:

True First Person Demo – Kris Redbeard…-player-model/.

There’s a line of code in Blender you can comment out that resolves that issue… period. You’ll never get the extra bones.

I use my own rigs, but thanks for the link, I’ll try these UE Tools, they seem very cool :slight_smile:

hi guys just did a few tests with blender 2.75a and ue4.8.2 , dealing with exporting a skelmesh from ue4 into blender and back out, with info about certain new options in the blender fbx exporter

Blender 2.77 still has this problem - it adds ‘Armature’ bone on top of hierarchy. For example, if I get a character from Mixamo, import into Blender to adjust skin weights and then export, it’s no longer compatible with Mixamo rig, because of this ‘Armature’ bone (‘FAILED TO MERGE BONES’ error). I set ‘ignore leaf bones’ and it doesn’t add these leaf bones, but still adds the ‘Armature’ as root.

Is there any way to delete it? It doesn’t let me to select it in hierarchy and delete it…

I will try Blender 2.78 soon, but I’m afraid that it’s not fixed there.

What I can see Blender does is add the ARMATURE bone as the ROOT bone. What I normally do is in Blender if the character has a ROOT bone pre-made I delete it and have no problems from there.

Know anyone what did I wrong? :<

Hello, try what I did in this video at 10:26.

The solution to the problem of Blender exporting the armature object as the top (root) of the skeleton can be solved by commenting out just two lines from the python script “C:\Program Files\Blender Foundation\Blender\2.79\scripts\addons\io_scene_fbx\export_fbx.py”.

Probably a good idea would be to make a backup of export_fbx.py before making this edit.
Search for these lines of code in export_fbx.py:

else:    
# the armature object is written as an empty and all root level bones connect to it   
fw('
Connect: "OO", "Model::%s", "Model::%s"' % (my_bone.fbxName, my_bone.fbxArm.fbxName))

This is the code that is adding the extra bone. Comment it out like below:

#else:
 # the armature object is written as an empty and all root level bones connect to it
 #    fw('
Connect: "OO", "Model::%s", "Model::%s"' % (my_bone.fbxName, my_bone.fbxArm.fbxName))

Save export_fbx.py and restart Blender if it’s running. You should not have the extra armature as root bone problem now when exporting skeletal meshes and animations to Unreal Engine 4.

I know this is a year late but for others that find themselves here with blender/eu4, I have now found it easy to just make sure before I export any one of my duplicated scenes from blender which contain a skin for my character models/skeletons that the Armature name in the scene does not have .00x at the end of it. If the name is consistent it imports fine into ue4. Blender wont allow the name to be the same across all scenes from what I see so when you delete the .00x it will rename the armature in the scene it is correct in.

Things have change so much since the time of the post that none of this - not even your comments about naming - makes sense.
.00x is the standard format for LODs - obviously the armature it self is not an LOD, so it’s only normal you should not be naming armatures with numbers at the end.

You can create new bone for your model and set name for this bone “Armature” or “ArmatureRoot” (how writed in UE4)

Hello from the future. For people having this problem, here’s the key takeaway:

The name that you give the armature, in blender, matters. That will be the name of the root bone in Unreal Engine.

Whenever you export an armature from blender, to fbx, for use in UE, rename the armature to "root".

If you have two armatures in the same file, that means you need to rename both of them, one at a time, before exporting the armature, because blender will not let you have two objects with the same name.

TLDR: If you have two armatures, which you think are supposed to be identical, but UE is throwing errors, check the name of the root bone in UE, which is the same as the name of the armature object in blender.

Thank you, this solved my issue. The problem was the Armature modifier for my character mesh was named “SkinBinding”, and the armature modifier for the object I was trying to share a skeleton for was named something else. Even though the modifier on both meshes were pointing to the same armature, the naming messed it up. In any case this fixed it!

In alternative to everything said, you can rename each of the armatures (and its data block) to the same name, and export one at a time

armaturerename

that is, remove the .001 after each export