Browse Source

Merge pull request #78025 from lyuma/skeleton3d_rest_dirty

Skeleton3D: Only reset rest_dirty after ALL bone transforms have finished update
Rémi Verschelde 2 years ago
parent
commit
da68c707f2
1 changed files with 1 additions and 1 deletions
  1. 1 1
      scene/3d/skeleton_3d.cpp

+ 1 - 1
scene/3d/skeleton_3d.cpp

@@ -906,6 +906,7 @@ void Skeleton3D::force_update_all_bone_transforms() {
 	for (int i = 0; i < parentless_bones.size(); i++) {
 	for (int i = 0; i < parentless_bones.size(); i++) {
 		force_update_bone_children_transforms(parentless_bones[i]);
 		force_update_bone_children_transforms(parentless_bones[i]);
 	}
 	}
+	rest_dirty = false;
 }
 }
 
 
 void Skeleton3D::force_update_bone_children_transforms(int p_bone_idx) {
 void Skeleton3D::force_update_bone_children_transforms(int p_bone_idx) {
@@ -963,7 +964,6 @@ void Skeleton3D::force_update_bone_children_transforms(int p_bone_idx) {
 
 
 		emit_signal(SceneStringNames::get_singleton()->bone_pose_changed, current_bone_idx);
 		emit_signal(SceneStringNames::get_singleton()->bone_pose_changed, current_bone_idx);
 	}
 	}
-	rest_dirty = false;
 }
 }
 
 
 void Skeleton3D::_bind_methods() {
 void Skeleton3D::_bind_methods() {