Continuation of #27562

[AnimationTree] Fix scale interpolation
This commit is contained in:
Guilherme Felipe 2019-04-01 13:45:26 -03:00
parent afe45f9796
commit dbda5b6700

View file

@ -891,7 +891,7 @@ void AnimationTree::_process_graph(float p_delta) {
t->loc = Vector3();
t->rot = Quat();
t->rot_blend_accum = 0;
t->scale = Vector3();
t->scale = Vector3(1, 1, 1);
}
float prev_time = time - delta;
@ -952,11 +952,9 @@ void AnimationTree::_process_graph(float p_delta) {
t->loc = loc;
t->rot = rot;
t->rot_blend_accum = 0;
t->scale = Vector3();
t->scale = scale;
}
scale -= Vector3(1.0, 1.0, 1.0); //helps make it work properly with Add nodes
if (err != OK)
continue;
@ -1241,8 +1239,6 @@ void AnimationTree::_process_graph(float p_delta) {
Transform xform;
xform.origin = t->loc;
t->scale += Vector3(1.0, 1.0, 1.0); //helps make it work properly with Add nodes and root motion
xform.basis.set_quat_scale(t->rot, t->scale);
if (t->root_motion) {
@ -1276,7 +1272,8 @@ void AnimationTree::_process_graph(float p_delta) {
t->object->set_indexed(t->subpath, t->value);
} break;
default: {} //the rest don't matter
default: {
} //the rest don't matter
}
}
}