fix bug in mixVisibleRotationDelta()

was using a non-visible rotation
This commit is contained in:
Andrew Meadows 2014-07-17 10:33:11 -07:00
parent 66158cb8a2
commit 25840cad49

View file

@ -183,7 +183,7 @@ void JointState::mixRotationDelta(const glm::quat& delta, float mixFactor, float
void JointState::mixVisibleRotationDelta(const glm::quat& delta, float mixFactor) {
// NOTE: delta is in model-frame
assert(_fbxJoint != NULL);
glm::quat targetRotation = _visibleRotationInConstrainedFrame * glm::inverse(_rotation) * delta * _rotation;
glm::quat targetRotation = _visibleRotationInConstrainedFrame * glm::inverse(_visibleRotation) * delta * _visibleRotation;
if (mixFactor > 0.0f && mixFactor <= 1.0f) {
//targetRotation = safeMix(targetRotation, _fbxJoint->rotation, mixFactor);
targetRotation = safeMix(targetRotation, _rotationInConstrainedFrame, mixFactor);