Merge pull request #57295 from TokageItLab/fix-blendspace2d-discrete
This commit is contained in:
@@ -292,10 +292,10 @@ double AnimationNodeBlendSpace1D::process(double p_time, bool p_seek) {
|
||||
|
||||
// actually blend the animations now
|
||||
|
||||
float max_time_remaining = 0.0;
|
||||
double max_time_remaining = 0.0;
|
||||
|
||||
for (int i = 0; i < blend_points_used; i++) {
|
||||
float remaining = blend_node(blend_points[i].name, blend_points[i].node, p_time, p_seek, weights[i], FILTER_IGNORE, false);
|
||||
double remaining = blend_node(blend_points[i].name, blend_points[i].node, p_time, p_seek, weights[i], FILTER_IGNORE, false);
|
||||
|
||||
max_time_remaining = MAX(max_time_remaining, remaining);
|
||||
}
|
||||
|
||||
@@ -438,7 +438,7 @@ double AnimationNodeBlendSpace2D::process(double p_time, bool p_seek) {
|
||||
Vector2 blend_pos = get_parameter(blend_position);
|
||||
int closest = get_parameter(this->closest);
|
||||
double length_internal = get_parameter(this->length_internal);
|
||||
float mind = 0.0; //time of min distance point
|
||||
double mind = 0.0; //time of min distance point
|
||||
|
||||
if (blend_mode == BLEND_MODE_INTERPOLATED) {
|
||||
if (triangles.size() == 0) {
|
||||
@@ -502,7 +502,7 @@ double AnimationNodeBlendSpace2D::process(double p_time, bool p_seek) {
|
||||
for (int j = 0; j < 3; j++) {
|
||||
if (i == triangle_points[j]) {
|
||||
//blend with the given weight
|
||||
float t = blend_node(blend_points[i].name, blend_points[i].node, p_time, p_seek, blend_weights[j], FILTER_IGNORE, false);
|
||||
double t = blend_node(blend_points[i].name, blend_points[i].node, p_time, p_seek, blend_weights[j], FILTER_IGNORE, false);
|
||||
if (first || t < mind) {
|
||||
mind = t;
|
||||
first = false;
|
||||
@@ -530,7 +530,7 @@ double AnimationNodeBlendSpace2D::process(double p_time, bool p_seek) {
|
||||
}
|
||||
|
||||
if (new_closest != closest && new_closest != -1) {
|
||||
float from = 0.0;
|
||||
double from = 0.0;
|
||||
if (blend_mode == BLEND_MODE_DISCRETE_CARRY && closest != -1) {
|
||||
//for ping-pong loop
|
||||
Ref<AnimationNodeAnimation> na_c = static_cast<Ref<AnimationNodeAnimation>>(blend_points[closest].node);
|
||||
|
||||
@@ -750,7 +750,7 @@ double AnimationNodeTransition::process(double p_time, bool p_seek) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
float rem = 0.0;
|
||||
double rem = 0.0;
|
||||
|
||||
if (prev < 0) { // process current animation, check for transition
|
||||
|
||||
|
||||
Reference in New Issue
Block a user