diff --git a/Source/Engine/Animations/Graph/AnimGroup.Animation.cpp b/Source/Engine/Animations/Graph/AnimGroup.Animation.cpp index c80d27b54..c508ab3c8 100644 --- a/Source/Engine/Animations/Graph/AnimGroup.Animation.cpp +++ b/Source/Engine/Animations/Graph/AnimGroup.Animation.cpp @@ -169,13 +169,15 @@ float GetAnimPos(float& timePos, float startTimePos, bool loop, float length) { // Animation looped result = Math::Mod(result, length); + + // Remove start time offset to properly loop from animation start during the next frame + timePos = result - startTimePos; } else { // Animation ended - result = length; + timePos = result = length; } - timePos = result; } return result; }