From 7768deaa04cbb4883c9b1e48b37d6b70761ab299 Mon Sep 17 00:00:00 2001 From: "Silc Lizard (Tokage) Renew" <61938263+TokageItLab@users.noreply.github.com> Date: Sun, 26 Oct 2025 20:10:43 +0900 Subject: [PATCH] Separate branching ping-pong time and delta --- scene/animation/animation_blend_tree.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scene/animation/animation_blend_tree.cpp b/scene/animation/animation_blend_tree.cpp index 22919d45e14..dc1aa67ac5b 100644 --- a/scene/animation/animation_blend_tree.cpp +++ b/scene/animation/animation_blend_tree.cpp @@ -268,11 +268,14 @@ AnimationNode::NodeTimeInfo AnimationNodeAnimation::_process(const AnimationMixe AnimationMixer::PlaybackInfo pi = p_playback_info; pi.start = 0.0; pi.end = cur_len; - if (node_backward ? cur_backward : !cur_backward) { + if (play_mode == PLAY_MODE_FORWARD) { pi.time = cur_playback_time; - pi.delta = cur_delta; } else { pi.time = anim_size - cur_playback_time; + } + if (node_backward ? cur_backward : !cur_backward) { + pi.delta = cur_delta; + } else { pi.delta = -cur_delta; } pi.weight = 1.0;