diff --git a/scene/resources/2d/skeleton/skeleton_modification_2d_ccdik.cpp b/scene/resources/2d/skeleton/skeleton_modification_2d_ccdik.cpp index 4389cc3156..00f152289b 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 78335454a3..8ef48b810a 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 2c60f620be..cbc808d255 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; }