Merge pull request #10460 from Zylann/orbit_sensitivity
Added option for mouse orbit sensitivity
This commit is contained in:
commit
dca8df47b4
|
@ -664,6 +664,8 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
|
||||||
set("editors/3d/emulate_3_button_mouse", false);
|
set("editors/3d/emulate_3_button_mouse", false);
|
||||||
set("editors/3d/warped_mouse_panning", true);
|
set("editors/3d/warped_mouse_panning", true);
|
||||||
|
|
||||||
|
set("editors/3d/orbit_sensitivity", 0.7);
|
||||||
|
|
||||||
set("editors/3d/freelook_base_speed", 1);
|
set("editors/3d/freelook_base_speed", 1);
|
||||||
|
|
||||||
set("editors/3d/freelook_activation_modifier", 0);
|
set("editors/3d/freelook_activation_modifier", 0);
|
||||||
|
|
|
@ -1453,8 +1453,12 @@ void SpatialEditorViewport::_sinput(const Ref<InputEvent> &p_event) {
|
||||||
|
|
||||||
case NAVIGATION_ORBIT: {
|
case NAVIGATION_ORBIT: {
|
||||||
Point2i relative = _get_warped_mouse_motion(m);
|
Point2i relative = _get_warped_mouse_motion(m);
|
||||||
cursor.x_rot += relative.y / 80.0;
|
|
||||||
cursor.y_rot += relative.x / 80.0;
|
real_t degrees_per_pixel = EditorSettings::get_singleton()->get("editors/3d/orbit_sensitivity");
|
||||||
|
real_t radians_per_pixel = Math::deg2rad(degrees_per_pixel);
|
||||||
|
|
||||||
|
cursor.x_rot += relative.y * radians_per_pixel;
|
||||||
|
cursor.y_rot += relative.x * radians_per_pixel;
|
||||||
if (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 = Math_PI / 2.0;
|
||||||
if (cursor.x_rot < -Math_PI / 2.0)
|
if (cursor.x_rot < -Math_PI / 2.0)
|
||||||
|
@ -1468,8 +1472,12 @@ void SpatialEditorViewport::_sinput(const Ref<InputEvent> &p_event) {
|
||||||
// It technically works too in ortho, but it's awful for a user due to fov being near zero
|
// It technically works too in ortho, but it's awful for a user due to fov being near zero
|
||||||
if (!orthogonal) {
|
if (!orthogonal) {
|
||||||
Point2i relative = _get_warped_mouse_motion(m);
|
Point2i relative = _get_warped_mouse_motion(m);
|
||||||
cursor.x_rot += relative.y / 120.0;
|
|
||||||
cursor.y_rot += relative.x / 120.0;
|
real_t degrees_per_pixel = EditorSettings::get_singleton()->get("editors/3d/orbit_sensitivity");
|
||||||
|
real_t radians_per_pixel = Math::deg2rad(degrees_per_pixel);
|
||||||
|
|
||||||
|
cursor.x_rot += relative.y * radians_per_pixel;
|
||||||
|
cursor.y_rot += relative.x * radians_per_pixel;
|
||||||
if (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 = Math_PI / 2.0;
|
||||||
if (cursor.x_rot < -Math_PI / 2.0)
|
if (cursor.x_rot < -Math_PI / 2.0)
|
||||||
|
|
Loading…
Reference in New Issue