diff --git a/editor/plugins/collision_shape_2d_editor_plugin.cpp b/editor/plugins/collision_shape_2d_editor_plugin.cpp index 4c78b7f181a..0b8ffa833c1 100644 --- a/editor/plugins/collision_shape_2d_editor_plugin.cpp +++ b/editor/plugins/collision_shape_2d_editor_plugin.cpp @@ -184,7 +184,8 @@ void CollisionShape2DEditor::set_handle(int idx, Point2 &p_point) { Vector2 normal = world_boundary->get_normal(); world_boundary->set_distance(p_point.dot(normal) / normal.length_squared()); } else { - world_boundary->set_normal(p_point.normalized()); + real_t dir = world_boundary->get_distance() < 0 ? -1 : 1; + world_boundary->set_normal(p_point.normalized() * dir); } } } break;