Merge pull request #62502 from TokageItLab/fix-pingpong-snag

Fixed pingpong animation get snaging on the edge in AnimationTree
This commit is contained in:
Rémi Verschelde 2022-06-29 10:13:30 +02:00 committed by GitHub
commit 90bed51d1c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -104,11 +104,11 @@ double AnimationNodeAnimation::process(double p_time, bool p_seek, bool p_seek_r
if (anim->get_loop_mode() == Animation::LOOP_PINGPONG) {
if (!Math::is_zero_approx(anim_size)) {
if ((int)Math::floor(abs(time - prev_time) / anim_size) % 2 == 0) {
if (prev_time > 0 && time <= 0) {
if (prev_time >= 0 && time < 0) {
backward = !backward;
pingponged = -1;
}
if (prev_time < anim_size && time >= anim_size) {
if (prev_time <= anim_size && time > anim_size) {
backward = !backward;
pingponged = 1;
}