diff --git a/libraries/entities/src/ModelEntityItem.cpp b/libraries/entities/src/ModelEntityItem.cpp index a1f16ee251..9215374653 100644 --- a/libraries/entities/src/ModelEntityItem.cpp +++ b/libraries/entities/src/ModelEntityItem.cpp @@ -252,9 +252,11 @@ void ModelEntityItem::getAnimationFrame(bool& newFrame, if (index < translations.size()) { translationMat = glm::translate(translations[index]); } - glm::mat4 rotationMat; + glm::mat4 rotationMat(glm::mat4::_null); if (index < rotations.size()) { - rotationMat = glm::mat4_cast(rotations[index]); + rotationMat = glm::mat4_cast(fbxJoints[index].preRotation * rotations[index] * fbxJoints[index].postRotation); + } else { + rotationMat = glm::mat4_cast(fbxJoints[index].preRotation * fbxJoints[index].postRotation); } glm::mat4 finalMat = (translationMat * fbxJoints[index].preTransform * rotationMat * fbxJoints[index].postTransform);