summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuilherme Felipe <guilhermefelipecgs@gmail.com>2019-04-01 13:45:26 -0300
committerGuilherme Felipe <guilhermefelipecgs@gmail.com>2019-04-05 15:41:37 -0300
commitdbda5b6700a05c2305584638bfa537d9f885adae (patch)
tree97a34c9c669cdc5e4508d0f0d8dd28a3c234aa62
parentafe45f97966d13f398b00483749183bd2868753a (diff)
Continuation of #27562
[AnimationTree] Fix scale interpolation
-rw-r--r--scene/animation/animation_tree.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/scene/animation/animation_tree.cpp b/scene/animation/animation_tree.cpp
index fe1b8247ff..3871bdd186 100644
--- a/scene/animation/animation_tree.cpp
+++ b/scene/animation/animation_tree.cpp
@@ -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
}
}
}