Do nothing when dragging CSGBox handle perpendicular to the camera

(cherry picked from commit 0f1e107ede)
This commit is contained in:
Haoyu Qiu 2021-07-31 02:25:05 +08:00 committed by Rémi Verschelde
parent ccbd810934
commit f4208ad1e8
No known key found for this signature in database
GPG Key ID: C3336907360768E1
1 changed files with 6 additions and 0 deletions

View File

@ -139,6 +139,12 @@ void CSGShapeSpatialGizmoPlugin::set_handle(EditorSpatialGizmo *p_gizmo, int p_i
Vector3 ra, rb; Vector3 ra, rb;
Geometry::get_closest_points_between_segments(Vector3(), axis * 4096, sg[0], sg[1], ra, rb); Geometry::get_closest_points_between_segments(Vector3(), axis * 4096, sg[0], sg[1], ra, rb);
float d = ra[p_idx]; float d = ra[p_idx];
if (Math::is_nan(d)) {
// The handle is perpendicular to the camera.
return;
}
if (SpatialEditor::get_singleton()->is_snap_enabled()) { if (SpatialEditor::get_singleton()->is_snap_enabled()) {
d = Math::stepify(d, SpatialEditor::get_singleton()->get_translate_snap()); d = Math::stepify(d, SpatialEditor::get_singleton()->get_translate_snap());
} }