diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index a87c83f17c9..3a9968d126a 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -324,7 +324,8 @@ void Viewport::update_worlds() { if (!is_inside_tree()) return; - Rect2 xformed_rect = (global_canvas_transform * canvas_transform).affine_inverse().xform(get_visible_rect()); + Rect2 abstracted_rect = Rect2(Vector2(), get_visible_rect().size); + Rect2 xformed_rect = (global_canvas_transform * canvas_transform).affine_inverse().xform(abstracted_rect); find_world_2d()->_update_viewport(this, xformed_rect); find_world_2d()->_update();