Fixes BlendSpace2D BLEND_MODE_DISCRETE_CARRY.
When BlendSpace2D switches animations, it will now correctly calculate the previous animation position and length and apply is to the new animation.
This commit is contained in:
parent
33a0fb6e02
commit
bcb1e2b79f
1 changed files with 2 additions and 2 deletions
|
@ -532,10 +532,10 @@ float AnimationNodeBlendSpace2D::process(float p_time, bool p_seek) {
|
|||
float from = 0.0;
|
||||
if (blend_mode == BLEND_MODE_DISCRETE_CARRY && closest != -1) {
|
||||
//see how much animation remains
|
||||
from = blend_node(blend_points[closest].name, blend_points[closest].node, p_time, true, 0.0, FILTER_IGNORE, false) - length_internal;
|
||||
from = length_internal - blend_node(blend_points[closest].name, blend_points[closest].node, p_time, false, 0.0, FILTER_IGNORE, false);
|
||||
}
|
||||
|
||||
mind = blend_node(blend_points[new_closest].name, blend_points[new_closest].node, from, true, 1.0, FILTER_IGNORE, false) + from;
|
||||
mind = blend_node(blend_points[new_closest].name, blend_points[new_closest].node, from, true, 1.0, FILTER_IGNORE, false);
|
||||
length_internal = from + mind;
|
||||
|
||||
closest = new_closest;
|
||||
|
|
Loading…
Reference in a new issue