From 6c586d20df93ad7c4a4535b0b04e238b7444f72a Mon Sep 17 00:00:00 2001 From: Jayden Sipe Date: Thu, 13 Mar 2025 17:58:22 -0400 Subject: [PATCH] Fix game view visual streaking when selecting nodes --- scene/debugger/scene_debugger.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scene/debugger/scene_debugger.cpp b/scene/debugger/scene_debugger.cpp index 8a054edcee..7763851a66 100644 --- a/scene/debugger/scene_debugger.cpp +++ b/scene/debugger/scene_debugger.cpp @@ -1991,6 +1991,11 @@ void RuntimeNodeSelect::_update_selection() { RS::get_singleton()->instance_set_transform(sb->instance_ofs, t_offset); RS::get_singleton()->instance_set_transform(sb->instance_xray, t); RS::get_singleton()->instance_set_transform(sb->instance_xray_ofs, t_offset); + + RS::get_singleton()->instance_reset_physics_interpolation(sb->instance); + RS::get_singleton()->instance_reset_physics_interpolation(sb->instance_ofs); + RS::get_singleton()->instance_reset_physics_interpolation(sb->instance_xray); + RS::get_singleton()->instance_reset_physics_interpolation(sb->instance_xray_ofs); } #endif // _3D_DISABLED } @@ -2027,12 +2032,14 @@ void RuntimeNodeSelect::_update_selection_drag(const Point2 &p_end_pos) { if (root->is_canvas_transform_override_enabled()) { Transform2D xform = root->get_canvas_transform_override(); RS::get_singleton()->canvas_item_set_transform(sel_drag_ci, xform); + RS::get_singleton()->canvas_item_reset_physics_interpolation(sel_drag_ci); selection_drawing.position = xform.affine_inverse().xform(selection_drag_area.position); selection_drawing.size = xform.affine_inverse().xform(p_end_pos); thickness = MAX(1, Math::ceil(1 / view_2d_zoom)); } else { RS::get_singleton()->canvas_item_set_transform(sel_drag_ci, Transform2D()); + RS::get_singleton()->canvas_item_reset_physics_interpolation(sel_drag_ci); selection_drawing.position = selection_drag_area.position; selection_drawing.size = p_end_pos;