I'm not 100% sure if this is a Blender issue or an assimp issue. I've built a rigged model in Blender, and I'm exporting it into a custom engine using assimp. I need to get all the bone data, including the location, rotation and bone length because it will be interacting with the physics system.
I've tried exporting to Collada and FBX, and the results are the same: the bone origin locations and rotations are preserved, but the bones all have a scale of 1. Here's a subset of the armature transforms I get from assimp:
pelvis
|(1.0, 0.0, 0.0, 0.00252628303)|
|(0.0, 0.999999881, 0.0, -0.156933203)|
|(0.0, 7.45057971e-09, 1.0, -0.00477445079)|
|(0.0, 0.0, 0.0, 1.0)|
spineLower
|(1.0, 0.0, 0.0, 0.0)|
|(0.0, 0.999999881, 7.45057971e-09, 0.123953901)|
|(0.0, 7.45057971e-09, 1.0, 1.27631497)|
|(0.0, 0.0, 0.0, 1.0)|
spineUpper
|(1.0, 7.27596022e-12, 0.0, 0.0)|
|(-1.42374007e-14, 0.999999881, -7.45057971e-09, 0.1790445)|
|(0.0, 3.72528985e-09, 0.999999881, 3.62223196)|
|(0.0, 0.0, 0.0, 1.0)|
I know there must be information available about bone length: if I import an FBX into UE4 I can see the skeleton with bones of the correct size in the skeleton view.
How can I get this information out of blender and into my application?