diff --git a/scene/animation/animation_tree.cpp b/scene/animation/animation_tree.cpp index 5623de94139..6277db3c5cb 100644 --- a/scene/animation/animation_tree.cpp +++ b/scene/animation/animation_tree.cpp @@ -852,6 +852,7 @@ void AnimationTree::_process_graph(float p_delta) { Ref a = as.animation; float time = as.time; float delta = as.delta; + float weight = as.blend; bool seeked = as.seeked; for (int i = 0; i < a->get_track_count(); i++) { @@ -872,7 +873,7 @@ void AnimationTree::_process_graph(float p_delta) { ERR_CONTINUE(blend_idx < 0 || blend_idx >= state.track_count); - float blend = (*as.track_blends)[blend_idx]; + float blend = (*as.track_blends)[blend_idx] * weight; if (blend < CMP_EPSILON) continue; //nothing to blend