Last updated: September 04, 2017
As of Unreal Engine 4.16, this is no longer needed.
From the Unreal Engine 4.16 Release Notes :
- New: The FBX importer updates:
- Now imports collision models under the FBX LOD Group.
- Now applies the transform from FBX options only one time for the whole import.
- When importing an FBX file from Blender, the importer now removes the root node name “armature.”
- No longer removes the socket created in UE4 Editor when using reimport. If affects only imported socket.
“The more things change, the more they stay the same.”
–Snake Plissken Yeah, I know… some dead-French guy said it first, but I remember it from the end of Escape from L.A.
Get over it. Blenders FBX exported has gotten a lot better… and yet, it still adds the extra root bone. This tutorial will show you what to change in order to fix this.
The file we will be going to edit C:\Program Files\Blender Foundation\Blender\2.78\scripts\addons\io_scene_fbx\export_fbx_bin.py
Before you begin: Create a backup of the file. Get a decent text editor.
For Windows, I recommend Notepad++. Run your text editor in admin mode.
Instructions: Find the following:
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))
For me, it was around line 2465. Comment out these lines:
# 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))
Save the file. Restart Blender. Export as usual.
Example: I installed the UE4 Tools Addon by Luis Garcia and used the “Append Hero RIG!” button to add a UE4 Mannequin to the scene. I then extruded two new bones – item_r & item_l – and added them to the EpicExtra bone group. After this, I selected everything and clicked the “Export Character” button and imported the result into UE4. Enjoy!