Răsfoiți Sursa

Merge pull request #41416 from TokageItLab/fix_animation_tree_cache

fix unintentional object rotation by anim tree
Rémi Verschelde 4 ani în urmă
părinte
comite
a4e8da8d0b
1 a modificat fișierele cu 2 adăugiri și 2 ștergeri
  1. 2 2
      scene/animation/animation_tree.cpp

+ 2 - 2
scene/animation/animation_tree.cpp

@@ -597,9 +597,9 @@ bool AnimationTree::_update_caches(AnimationPlayer *player) {
 
 						if (path.get_subname_count() == 1 && Object::cast_to<Skeleton3D>(spatial)) {
 							Skeleton3D *sk = Object::cast_to<Skeleton3D>(spatial);
+							track_xform->skeleton = sk;
 							int bone_idx = sk->find_bone(path.get_subname(0));
 							if (bone_idx != -1) {
-								track_xform->skeleton = sk;
 								track_xform->bone_idx = bone_idx;
 							}
 						}
@@ -1205,7 +1205,7 @@ void AnimationTree::_process_graph(float p_delta) {
 					} else if (t->skeleton && t->bone_idx >= 0) {
 						t->skeleton->set_bone_pose(t->bone_idx, xform);
 
-					} else {
+					} else if (!t->skeleton) {
 						t->spatial->set_transform(xform);
 					}