bPoseChannel *pchan = get_pose_channel(pose, def->name);
- float pose_mat[4][4];
float mat[4][4];
float world[4][4];
float inv_bind_mat[4][4];
- // pose_mat is the same as pchan->pose_mat, but without the rotation
- unit_m4(pose_mat);
- translate_m4(pose_mat, pchan->pose_head[0], pchan->pose_head[1], pchan->pose_head[2]);
-
- // make world-space matrix, pose_mat is armature-space
- mul_m4_m4m4(world, pose_mat, ob_arm->obmat);
+ // make world-space matrix, arm_mat is armature-space
+ mul_m4_m4m4(world, pchan->bone->arm_mat, ob_arm->obmat);
invert_m4_m4(mat, world);
converter.mat4_to_dae(inv_bind_mat, mat);