diff --git a/src/engine/animmodel.h b/src/engine/animmodel.h index 357baa487..53f4ac8c9 100644 --- a/src/engine/animmodel.h +++ b/src/engine/animmodel.h @@ -1123,7 +1123,9 @@ struct animmodel : model if(diffaniminterp[interp].prev); - p.interp = diff/float(aitime); + // use easeInOutSine easing for smoother appearance + // https://easings.net/#easeInOutSine + p.interp = -(cos(M_PI * diff/float(aitime)) - 1) / 2; } } } diff --git a/src/engine/rendermodel.cpp b/src/engine/rendermodel.cpp index ef090b2cc..ad7f80499 100644 --- a/src/engine/rendermodel.cpp +++ b/src/engine/rendermodel.cpp @@ -1,7 +1,7 @@ #include "engine.h" VAR(0, oqdynent, 0, 1, 1); -VAR(0, animationinterpolationtime, 0, 200, 1000); +VAR(0, animationinterpolationtime, 0, 220, 1000); model *loadingmodel = NULL;