diff --git a/scene/resources/2d/skeleton/skeleton_modification_2d_ccdik.cpp b/scene/resources/2d/skeleton/skeleton_modification_2d_ccdik.cpp index 4389cc31565..00f152289bb 100644 --- a/scene/resources/2d/skeleton/skeleton_modification_2d_ccdik.cpp +++ b/scene/resources/2d/skeleton/skeleton_modification_2d_ccdik.cpp @@ -253,6 +253,9 @@ void SkeletonModification2DCCDIK::_draw_editor_gizmo() { if (!ccdik_data_chain[i].editor_draw_gizmo) { continue; } + if (ccdik_data_chain[i].bone_idx < 0) { + continue; + } Bone2D *operation_bone = stack->skeleton->get_bone(ccdik_data_chain[i].bone_idx); editor_draw_angle_constraints(operation_bone, ccdik_data_chain[i].constraint_angle_min, ccdik_data_chain[i].constraint_angle_max, diff --git a/scene/resources/2d/skeleton/skeleton_modification_2d_lookat.cpp b/scene/resources/2d/skeleton/skeleton_modification_2d_lookat.cpp index 78335454a3f..8ef48b810ac 100644 --- a/scene/resources/2d/skeleton/skeleton_modification_2d_lookat.cpp +++ b/scene/resources/2d/skeleton/skeleton_modification_2d_lookat.cpp @@ -180,7 +180,7 @@ void SkeletonModification2DLookAt::_setup_modification(SkeletonModificationStack } void SkeletonModification2DLookAt::_draw_editor_gizmo() { - if (!enabled || !is_setup) { + if (!enabled || !is_setup || bone_idx < 0) { return; } diff --git a/scene/resources/2d/skeleton/skeleton_modification_2d_twoboneik.cpp b/scene/resources/2d/skeleton/skeleton_modification_2d_twoboneik.cpp index 2c60f620be8..cbc808d2553 100644 --- a/scene/resources/2d/skeleton/skeleton_modification_2d_twoboneik.cpp +++ b/scene/resources/2d/skeleton/skeleton_modification_2d_twoboneik.cpp @@ -217,7 +217,7 @@ void SkeletonModification2DTwoBoneIK::_setup_modification(SkeletonModificationSt } void SkeletonModification2DTwoBoneIK::_draw_editor_gizmo() { - if (!enabled || !is_setup) { + if (!enabled || !is_setup || joint_one_bone_idx < 0) { return; }