[Bf-committers] Armatures Bones Poses
emiliano at mixamo.com
Thu Nov 25 23:02:00 CET 2010
as Stefano already told you I'm writing a collada 1.4.1 importing plug-in.
I'm now focusing on importing animations.
For that I need to figure out how armature, and motion channels are
defined in Blender.
I'm using this documentation as reference:
Please let me know in case you are aware of others documentation resources.
I believe I understood how armature works, but, I still have some
problems so I want to double check with you:
1)in POSE SPACE is the global position matrix of a bone given by:
"node global position matrix"="global position of the parent" *
armature_bone_matrix * bone_action
- armature_bone_matrix is the matrix that describes the local bone
coordinates system with respect to its parent when the bone is in rest
- bone_action is the matrix whose rotational portion can be accessed
in python in this way "pose.bones.pbone.quat"?
2)In the ARMATURE SPACE (edit mode).
- global bone matrices can be accessed in python in this way
- referring to the above formula bone_action matrices are Identities
therefore armature_bone_matrix can be computed in this way:
armature_bone_matrix="global position of the parent"^-1 * "node global
3)In POSE SPACE:
- Given the global position matrix of a bone G and of its parent P,
can you confirm the bone action matrix is given by:
bone_action = armature_bone_matrix^-1*(P^-1*G)
Thanks for your help,
More information about the Bf-committers