diff --git a/libraries/entities/src/ModelEntityItem.cpp b/libraries/entities/src/ModelEntityItem.cpp index b4adde7467..af9541ceca 100644 --- a/libraries/entities/src/ModelEntityItem.cpp +++ b/libraries/entities/src/ModelEntityItem.cpp @@ -224,6 +224,7 @@ void ModelEntityItem::getAnimationFrame(bool& newFrame, if (myAnimation && myAnimation->isLoaded()) { const QVector& frames = myAnimation->getFramesReference(); // NOTE: getFrames() is too heavy + auto& fbxJoints = myAnimation->getGeometry().joints; int frameCount = frames.size(); if (frameCount > 0) { @@ -244,7 +245,7 @@ void ModelEntityItem::getAnimationFrame(bool& newFrame, for (int j = 0; j < _jointMapping.size(); j++) { int index = _jointMapping[j]; if (index != -1 && index < rotations.size()) { - _lastKnownFrameDataRotations[j] = rotations[index]; + _lastKnownFrameDataRotations[j] = fbxJoints[index].preRotation * rotations[index]; } if (index != -1 && index < translations.size()) { _lastKnownFrameDataTranslations[j] = translations[index];