diff --git a/modules/skeleton_3d/editor/skeleton_ik_editor_plugin.cpp b/modules/skeleton_3d/editor/skeleton_ik_editor_plugin.cpp index df7bc75824..9d3eabf9af 100644 --- a/modules/skeleton_3d/editor/skeleton_ik_editor_plugin.cpp +++ b/modules/skeleton_3d/editor/skeleton_ik_editor_plugin.cpp @@ -52,24 +52,18 @@ void SkeletonIKEditorPlugin::_play() { skeleton_ik->start(); } else { skeleton_ik->stop(); - skeleton_ik->get_parent_skeleton()->clear_bones_global_pose_override(); } } void SkeletonIKEditorPlugin::edit(Object *p_object) { - if (p_object != skeleton_ik) { - if (skeleton_ik) { - play_btn->set_pressed(false); - _play(); - } - } - SkeletonIK *s = Object::cast_to(p_object); if (!s) { return; } skeleton_ik = s; + + play_btn->set_pressed(skeleton_ik->is_running()); } bool SkeletonIKEditorPlugin::handles(Object *p_object) const { diff --git a/modules/skeleton_3d/nodes/skeleton_ik.cpp b/modules/skeleton_3d/nodes/skeleton_ik.cpp index 77e9fe9d64..b5b0c27d13 100644 --- a/modules/skeleton_3d/nodes/skeleton_ik.cpp +++ b/modules/skeleton_3d/nodes/skeleton_ik.cpp @@ -425,7 +425,7 @@ void SkeletonIK::_notification(int p_what) { } break; case NOTIFICATION_EXIT_TREE: { - reload_chain(); + stop(); } break; } }