Provide option to change orientation of bones so that the armature is compatible with Unreal Engine's "Epic skeleton"
The bone rolls or orientation of Blender armatures are very different to skeletons (another name for armatures) used in Unreal Engine such that when retargetting existing free animations in Unreal Engine to a skeleton (armature) that came from Blender, the resulting animations cause the mesh to become severely warped. This will occur even when the bone hierarchy of both skeletons match. I believe this is due to the free animations in UE are based on the Epic skeleton (also known as the Unreal Engine mannequin), the bones of which use a different orientation to that of Blender armatures e.g. the y-axis of some bones are pointing in a different direction, perhaps forwards instead of up.
Please provide the option to configure Blender to use the same bone rolls/orientation as used in Unreal Engine (or other game engines too). Users will then be able to more easily create skeletal meshes that can utilize existing free animations that come with the Unreal Engine.
See blenderartists.org/t/blender-armature-has-bad-bone-rolls-for-unreal-engine/1157301 for an example of this problem.
10 Comments
Imho one of the most important features for this software to take over Game Dev
I second this request, if Blender aims to have the title of "industry Standard", putting effort to have a coherent pipeline with Unreal Engine is a no brainer. With importing custom characters into Unreal one already has to put up with skinning and modeling the character around the rig, having to employ cheap tricks to make it compatible with the animation assets available makes the whole process unappealing. The Blender foundation has been adding tons of new great features, but we direly need an FBX import export that works as intended.
Rather than changing a core bit of Blender, would the solution be resolved if the conversion happened on export?
* @Jason van Gumster * Would need to be Import & Export
This feature and some regular brush based weight painting is the only thing preventing me from switching to blender. The Y axis as the "unchangeable" down the chain axis is very restricting. Some bones I want to have different local axes. It really is preventing blender from being embraced by professional riggers. This would open a whole new group of users to start the move to blender.
This problem is both simpler, but more complex than you might realize.
The problem is, Blender only supports one fixed bone orientation (blender bones always point towards +Y).
However, Maya/FBX supports arbitary bone orientations via the "Orient Joint Options" dialog.
For example, the UE4 mannequin leg bones point to -X on the left leg, and +X on the right leg. Which means there is no simple bone conversion that will work, because blender is currently incapable of remembering the orientation.
The best solution to this is to extend blender to support arbitrary bone orientation, like Maya, so we can load in the data from FBX and also output the data to FBX.
youtube.com/watch
Thought I'd help some other people out as I was also having Bone Orientation issues between Blender and the Unreal Engine when exporting Armatures. The solution for me was to use the "Send to Unreal" plugin. Then under Export settings, under Armature, set the Primary Bone Axis to "+X" and Secondary Bone Axis to "+Z". After doing this my Armature works great with Control Rig in UE. By default, Blender uses the Y axis as the primary Bone axis. Cheers.
Still hope this changes Instead of relying on Import and Export dev's to make it work we really just need the option in Blender so we can be industry-standard friendly.
So we can stop having issues with FBX and other game engines. We all know FBX importer never imports the bones right because they are just not the right orientation since blender is the odd one out here.
I don't know about unreal, but I know in Maya, the "bone" points toward X, and its "x" is actually Y. I think Z remains the same. Unreal probably follows Max, though, since they're both based on DirectX (AFAIK. It's at least true that they read normal maps with the same handedness as DirectX). I don't know Max more than superficially, though, so I can't speak to that.
This might be hiw it seems, but it is not how maya works. In maya bone visuals are rendered pointing towards child joints.. you can freely rotate joints however you want.. there is no required bone axis. They dont even have to be on axis