summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scene/animation/animation_tree.cpp37
1 files changed, 14 insertions, 23 deletions
diff --git a/scene/animation/animation_tree.cpp b/scene/animation/animation_tree.cpp
index ce1b09748b..62f2726f75 100644
--- a/scene/animation/animation_tree.cpp
+++ b/scene/animation/animation_tree.cpp
@@ -258,16 +258,14 @@ void AnimationNode::remove_input(int p_index) {
emit_changed();
}
-
void AnimationNode::_set_parent(Object *p_parent) {
set_parent(Object::cast_to<AnimationNode>(p_parent));
}
-
void AnimationNode::set_parent(AnimationNode *p_parent) {
parent = p_parent; //do not use ref because parent contains children
if (get_script_instance()) {
- get_script_instance()->call("_parent_set",p_parent);
+ get_script_instance()->call("_parent_set", p_parent);
}
}
@@ -389,7 +387,7 @@ void AnimationNode::_bind_methods() {
ClassDB::bind_method(D_METHOD("blend_node", "node", "time", "seek", "blend", "filter", "optimize"), &AnimationNode::blend_node, DEFVAL(FILTER_IGNORE), DEFVAL(true));
ClassDB::bind_method(D_METHOD("blend_input", "input_index", "time", "seek", "blend", "filter", "optimize"), &AnimationNode::blend_input, DEFVAL(FILTER_IGNORE), DEFVAL(true));
- ClassDB::bind_method(D_METHOD("set_parent","parent"), &AnimationNode::_set_parent);
+ ClassDB::bind_method(D_METHOD("set_parent", "parent"), &AnimationNode::_set_parent);
ClassDB::bind_method(D_METHOD("get_parent"), &AnimationNode::get_parent);
ClassDB::bind_method(D_METHOD("get_tree"), &AnimationNode::get_tree);
@@ -397,8 +395,8 @@ void AnimationNode::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "filters", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR | PROPERTY_USAGE_INTERNAL), "_set_filters", "_get_filters");
BIND_VMETHOD(MethodInfo("process", PropertyInfo(Variant::REAL, "time"), PropertyInfo(Variant::BOOL, "seek")));
- BIND_VMETHOD(MethodInfo(Variant::STRING,"get_caption"));
- BIND_VMETHOD(MethodInfo(Variant::STRING,"has_filter"));
+ BIND_VMETHOD(MethodInfo(Variant::STRING, "get_caption"));
+ BIND_VMETHOD(MethodInfo(Variant::STRING, "has_filter"));
BIND_VMETHOD(MethodInfo("_parent_set", PropertyInfo(Variant::OBJECT, "parent")));
ADD_SIGNAL(MethodInfo("removed_from_graph"));
@@ -735,7 +733,6 @@ void AnimationTree::_process_graph(float p_delta) {
{ //setup
-
process_pass++;
state.valid = true;
@@ -780,7 +777,6 @@ void AnimationTree::_process_graph(float p_delta) {
const AnimationNode::AnimationState &as = E->get();
-
Ref<Animation> a = as.animation;
float time = as.time;
float delta = as.delta;
@@ -823,9 +819,9 @@ void AnimationTree::_process_graph(float p_delta) {
if (track->root_motion) {
float prev_time = time - delta;
- if (prev_time <0) {
+ if (prev_time < 0) {
if (!a->has_loop()) {
- prev_time=0;
+ prev_time = 0;
} else {
prev_time = a->get_length() + prev_time;
}
@@ -846,7 +842,7 @@ void AnimationTree::_process_graph(float p_delta) {
t->loc += (loc[1] - loc[0]) * blend;
t->scale += (scale[1] - scale[0]) * blend;
- Quat q = Quat().slerp(rot[0].normalized().inverse() * rot[1].normalized(),blend).normalized();
+ Quat q = Quat().slerp(rot[0].normalized().inverse() * rot[1].normalized(), blend).normalized();
t->rot = (t->rot * q).normalized();
prev_time = 0;
@@ -861,13 +857,11 @@ void AnimationTree::_process_graph(float p_delta) {
t->loc += (loc[1] - loc[0]) * blend;
t->scale += (scale[1] - scale[0]) * blend;
- Quat q = Quat().slerp(rot[0].normalized().inverse() * rot[1].normalized(),blend).normalized();
+ Quat q = Quat().slerp(rot[0].normalized().inverse() * rot[1].normalized(), blend).normalized();
t->rot = (t->rot * q).normalized();
prev_time = 0;
-
-
} else {
Vector3 loc;
Quat rot;
@@ -1144,9 +1138,9 @@ void AnimationTree::_process_graph(float p_delta) {
root_motion_transform = xform;
if (t->skeleton && t->bone_idx >= 0) {
- root_motion_transform = (t->skeleton->get_bone_rest(t->bone_idx) * root_motion_transform) *t->skeleton->get_bone_rest(t->bone_idx).affine_inverse();
+ root_motion_transform = (t->skeleton->get_bone_rest(t->bone_idx) * root_motion_transform) * t->skeleton->get_bone_rest(t->bone_idx).affine_inverse();
}
- } else if (t->skeleton && t->bone_idx >= 0) {
+ } else if (t->skeleton && t->bone_idx >= 0) {
t->skeleton->set_bone_pose(t->bone_idx, xform);
@@ -1257,15 +1251,14 @@ String AnimationTree::get_configuration_warning() const {
return warning;
}
-void AnimationTree::set_root_motion_track(const NodePath& p_track) {
- root_motion_track=p_track;
+void AnimationTree::set_root_motion_track(const NodePath &p_track) {
+ root_motion_track = p_track;
}
NodePath AnimationTree::get_root_motion_track() const {
return root_motion_track;
}
-
Transform AnimationTree::get_root_motion_transform() const {
return root_motion_transform;
}
@@ -1292,10 +1285,8 @@ void AnimationTree::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "anim_player"), "set_animation_player", "get_animation_player");
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "active"), "set_active", "is_active");
ADD_PROPERTY(PropertyInfo(Variant::INT, "process_mode", PROPERTY_HINT_ENUM, "Physics,Idle"), "set_process_mode", "get_process_mode");
- ADD_GROUP("Root Motion","root_motion_");
- ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "root_motion_track"),"set_root_motion_track", "get_root_motion_track");
-
-
+ ADD_GROUP("Root Motion", "root_motion_");
+ ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "root_motion_track"), "set_root_motion_track", "get_root_motion_track");
}
AnimationTree::AnimationTree() {