8
$\begingroup$

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.

$\endgroup$
8
$\begingroup$

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.

$\endgroup$
  • $\begingroup$ Thanks! Parenting shouldn't be a problem as each node has its own matrix. :) $\endgroup$ – manabreak Jul 15 '13 at 6:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.