Browse Source

Merge pull request #51080 from timothyqiu/csgbox-nan

Do nothing when dragging CSGBox handle perpendicular to the camera
Rémi Verschelde 4 years ago
parent
commit
5a30ba7a66
1 changed files with 6 additions and 0 deletions
  1. 6 0
      modules/csg/csg_gizmos.cpp

+ 6 - 0
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());
 		}