Fix "Fully Axis-Locked" Freelook Navigation Scheme

Co-authored-by: Aaron Franke <arnfranke@yahoo.com>
(cherry picked from commit 29e901c342)
This commit is contained in:
Vorblen 2020-06-20 10:05:43 +01:00 committed by Rémi Verschelde
parent 9889641bae
commit 4c638f98ab

View file

@ -2123,10 +2123,7 @@ void SpatialEditorViewport::_nav_orbit(Ref<InputEventWithModifiers> p_event, con
cursor.x_rot += p_relative.y * radians_per_pixel;
}
cursor.y_rot += p_relative.x * radians_per_pixel;
if (cursor.x_rot > Math_PI / 2.0)
cursor.x_rot = Math_PI / 2.0;
if (cursor.x_rot < -Math_PI / 2.0)
cursor.x_rot = -Math_PI / 2.0;
cursor.x_rot = CLAMP(cursor.x_rot, -1.57, 1.57);
name = "";
_update_name();
}
@ -2155,10 +2152,7 @@ void SpatialEditorViewport::_nav_look(Ref<InputEventWithModifiers> p_event, cons
cursor.x_rot += p_relative.y * radians_per_pixel;
}
cursor.y_rot += p_relative.x * radians_per_pixel;
if (cursor.x_rot > Math_PI / 2.0)
cursor.x_rot = Math_PI / 2.0;
if (cursor.x_rot < -Math_PI / 2.0)
cursor.x_rot = -Math_PI / 2.0;
cursor.x_rot = CLAMP(cursor.x_rot, -1.57, 1.57);
// Look is like the opposite of Orbit: the focus point rotates around the camera
Transform camera_transform = to_camera_transform(cursor);