From 0f1e107ede5085aff017e8069697463598c5b512 Mon Sep 17 00:00:00 2001 From: Haoyu Qiu Date: Sat, 31 Jul 2021 02:25:05 +0800 Subject: Do nothing when dragging CSGBox handle perpendicular to the camera --- modules/csg/csg_gizmos.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/csg/csg_gizmos.cpp b/modules/csg/csg_gizmos.cpp index fc84c029ec..42f8b9f163 100644 --- a/modules/csg/csg_gizmos.cpp +++ b/modules/csg/csg_gizmos.cpp @@ -135,6 +135,12 @@ void CSGShape3DGizmoPlugin::set_handle(const EditorNode3DGizmo *p_gizmo, int p_i Vector3 ra, rb; Geometry3D::get_closest_points_between_segments(Vector3(), axis * 4096, sg[0], sg[1], ra, rb); float d = ra[p_id]; + + if (Math::is_nan(d)) { + // The handle is perpendicular to the camera. + return; + } + if (Node3DEditor::get_singleton()->is_snap_enabled()) { d = Math::snapped(d, Node3DEditor::get_singleton()->get_translate_snap()); } -- cgit v1.2.3