When I export models to Collada format, some transformations (bone animations, mainly) use transformation matrices. In order to decompose these matrices in the target program that loads the Collada file, I need to know the order of the transformations (scale, rotation, translation). Mainly I'm concerned if the scale is applied before or after the rotation.
1 Answer
Object and bone transformation in Blender are applied in the order of scale, rotation, translation. As a matrix this would be written like this:
object_matrix = translation_matrix * rotation_matrix * scale_matrix
Note that this order ensures there is no shearing, which happens when you do scaling after rotation.
If parenting is included in the matrix, multiple such object or bone matrices might be multiplied together, which means there is no longer a clear correct way to decompose the matrix into scale, rotation and translation.
-
$\begingroup$ Thanks! Parenting shouldn't be a problem as each node has its own matrix. :) $\endgroup$ Jul 15, 2013 at 6:01