I am very interested in your bone layout for blender 3D meshes.
Let me guess are you creating meshes and add armature with root bones and
child bones applied to each distinct meshes?
If yes, then
For the root bone controlled mesh, how do you position it in your OpenGL
code? By SystemMatrix * armature.matrix_world * bone.matrix?
For the child bone controlled mesh, do you position the mesh in OpenGL
code by (SystemMatrix * armature.matrix_world * bone.parent.matrix).inverted() *
(SystemMatrix * armature.matrix_world * bone.matrix) ?
I think for both above are for the final world coordinate of all bones, but
the position of meshes should not be identical to the position of bones which
Are you just write a simple OnenGL code to position the meshes by bones or you
can make the meshes transformed by the translate, rotate and scale of bones?
If you can succeeded in positioning the meshes in OpenGL by above python-exported
coordinate of bones, then there is no doubt that we can export the coordinate
of each bone in each frame in animation.
However, the Blender native build-in python script comes with it. I'd like to
export the displacement of translate, rotate, scale of each bone in each distinct
frame so that I can then transform the mesh by restoring the transformation matrix.
From within the graph editor in Blender, you can easily tell the all displacement
of transformation - translate, rotate, scale are all measured with respect to the
original value in frame 0. Hence, I believe that I can do it. Do you know how?
Many thanks, mjtsai