Unfortunately, I haven’t been able to successfully create an animation or rig a model in blender and have the skeleton match the existing Epic one.
The first problem is that Blender doesn’t import the root bone. It imports the root bone as the armature (if you look, you’ll see the armature data is named “Root”). As a result, the model has three root nodes, which is not allowed.
You can get around this by adding a new root bone and parenting the Pelvis and two IK bones to the new bone. If you do that, you will be able to import the model and have it match the Epic skeleton, but the animations won’t work. Your character’s limbs will fly all over the place. If you create an animation in Blender on this armature and export it, you’ll have a similar problem trying to use that animation from the existing Epic skeleton.
Blender can’t use the official FBX SDK because of licensing reasons, so they basically have to reverse engineer the FBX format. What I think is happening is that on import, they’re not able to correctly read the bone orientation, so they make a guess, and that guess is generally wrong.
Now, there are workarounds. I’ve been meaning to find time to do a tutorial on this, but here it is in a nutshell.
- From UE4, export Hero_TPP, or whatever skeletal mesh you have that uses the Epic skeleton. This will create an FBX file with armature and mesh. Separately, export any animations you want to use or edit. Those will also export as FBX files, but will only have the armature and animations.
- Launch Blender Install the attached addon script. It will add a set of buttons to your 3D view for working with UE4 skeletons and animations. Make sure it’s turned on.
- Import the first FBX file you exported earlier. Set the scale to 100 (that will allow you to export at Scale of 1 later, which is important scaling on export causes problems), and make sure “Automatic Bone Orientation” is checked.
- You should now have your model with armature. You should probably split your main screen so you have your 3D view and the dope sheet->Action Editor visible.
- Import an animation FBX file. This will create a new armature and an associated action. The action will not have a meaningful name. Name it accordingly. I usually just copy the name of the file when I select it and paste that into the Action name field. Don’t worry about the .FBX, the script will take care of that.
- In the action editor, make sure all keyframes are selected, then type s (for scale). Don’t move your mouse, but just hit return or left mouse button to commit the change. This will align the imported keyframes to Blender’s keyframes
- In the 3D view, delete the newly imported armature (but not the original one!). Deleting it will not delete the action that imported with it.
- Press the button on the 3D view right-side toolbar that’s labeled “UE4 Animation Import Process”. This will make sure the action works for the armature you imported earlier. It will also delete the IK bones in the armature (used by ART, not needed in Blender or in UE4).
- Right-click the armature in the 3D view to select it, then in the action editor, select the action you imported.
- Ctrl-A will test your animation. It should work fine.
- Repeat steps 5-10 for each animation you want to import.
- Now you can make any chances you want to the armature, add new animations, etc.
- To export to UE4, you’ll need to export twice. First, export the Mesh and Armature (but not lights, emptys, etc.) at 1.0 scale. Make sure “Baked Animations” and “Add Leaf Bones” are unchecked. I usually call this first FBX file something like “XXX character.fbx”
- Export a second time, this time unchecking “Mesh” but uncheck Mesh, leaving only armature. This time, make sure “Baked Animations” is turned on, but that all other settings are identical to the previous export. I usually call this second one something like “XXX animations.FBX”
You should now be able to import these two files into UE4, importing the character first and the animations second. When you import the character, don’t select a skeleton. It will build a new skeleton from the file. When you import the animations, select the skeleton it created with the first import. Also, make sure to select “animated time” rather than the default “exported time”. Depending on which version of Blender and exporter you use, you may need to play with the import transform settings. Sometimes I find I have to specify -90° Roll, sometimes I don’t.
The animations will have very long names, so you’ll probably want to rename them in UE4 to delete all but the last part, which will match the Action name from Blender.
Also, just a note: I’ve been using the latest Blender Release Candidate (2.74RC4) and have been having some problems with exported skeletal meshes. You may want to use 2.73 or 2.72 for the export instead of the latest. Definitely use the binary exporter, not the ASCII exporter. On older versions, the ASCII exporter was more reliable, but since 2.72, the binary one is usually the way to go.
Unfortunately, Blender’s FBX import/export, although much improved compared to the 2.6x days, still lags way behind programs that are able to use the official FBX SDK. As a result, there’s a fair amount of pain involved with using Blender with UE4. People have opened tickets with Blender about the FBX situation, but they keep getting closed. They don’t seem to accept that the problem is on their end.
Hope this helped.