[Bf-blender-cvs] [c0e7b67] BendyBones: BendyBones WIP - Temporarily knocked out change to the matrix multiplication final step

Joshua Leung noreply at git.blender.org
Tue May 17 16:40:19 CEST 2016


Commit: c0e7b6724353553c2b253bdcf7b865985f5c37ce
Author: Joshua Leung
Date:   Wed May 11 02:31:28 2016 +1200
Branches: BendyBones
https://developer.blender.org/rBc0e7b6724353553c2b253bdcf7b865985f5c37ce

BendyBones WIP - Temporarily knocked out change to the matrix multiplication final step

If we use the old formula (currently enabled), old rigs work, but new options don't.

However, if we use the new one (without tmat == inverse mats[0]), old rigs
(blenrig) breaks, while the new options don't really work that great.

===================================================================

M	source/blender/blenkernel/intern/armature.c

===================================================================

diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c
index 065169d..51e73bb 100644
--- a/source/blender/blenkernel/intern/armature.c
+++ b/source/blender/blenkernel/intern/armature.c
@@ -719,7 +719,9 @@ static void pchan_b_bone_defmats(bPoseChannel *pchan, bPoseChanDeform *pdef_info
 		print_m4("tmat", tmat);
 		print_m4("b_bone_mats[0].mat", b_bone_mats[0].mat);
 		*/
-		mul_m4_series(b_bone_mats[a + 1].mat, pchan->chan_mat, bone->arm_mat, b_bone[a].mat, b_bone_mats[0].mat);//, tmat, b_bone_mats[0].mat);
+		//mul_m4_series(b_bone_mats[a + 1].mat, pchan->chan_mat, bone->arm_mat, b_bone[a].mat, b_bone_mats[0].mat);//, tmat, b_bone_mats[0].mat);  /* <-- patch version; breaks old deform, but new works */
+		mul_m4_series(b_bone_mats[a + 1].mat, pchan->chan_mat, bone->arm_mat, b_bone[a].mat, tmat, b_bone_mats[0].mat);  /* <--- original version */
+
 		//print_m4("b_bone_mats[a + 1].mat", b_bone_mats[a + 1].mat);
 		if (use_quaternion)
 			mat4_to_dquat(&b_bone_dual_quats[a], bone->arm_mat, b_bone_mats[a + 1].mat);




More information about the Bf-blender-cvs mailing list