[Bf-blender-cvs] [29c2a64] master: BGE: Fix T46302: abort call for unnormalized quaterions.
Porteries Tristan
noreply at git.blender.org
Thu Oct 1 13:07:17 CEST 2015
Commit: 29c2a6469427b7c43d815188af7e7ed3f79f486c
Author: Porteries Tristan
Date: Thu Oct 1 13:05:16 2015 +0200
Branches: master
https://developer.blender.org/rB29c2a6469427b7c43d815188af7e7ed3f79f486c
BGE: Fix T46302: abort call for unnormalized quaterions.
===================================================================
M source/gameengine/Converter/BL_ArmatureObject.cpp
===================================================================
diff --git a/source/gameengine/Converter/BL_ArmatureObject.cpp b/source/gameengine/Converter/BL_ArmatureObject.cpp
index 74ebdbc..3d863bf 100644
--- a/source/gameengine/Converter/BL_ArmatureObject.cpp
+++ b/source/gameengine/Converter/BL_ArmatureObject.cpp
@@ -176,6 +176,10 @@ static void game_blend_poses(bPose *dst, bPose *src, float srcweight, short mode
copy_qt_qt(dquat, dchan->quat);
copy_qt_qt(squat, schan->quat);
+ // Normalize quaternions so that interpolation/multiplication result is correct.
+ normalize_qt(dquat);
+ normalize_qt(squat);
+
if (mode==BL_Action::ACT_BLEND_BLEND)
interp_qt_qtqt(dchan->quat, dquat, squat, srcweight);
else {
More information about the Bf-blender-cvs
mailing list