summaryrefslogtreecommitdiff
path: root/editor
diff options
context:
space:
mode:
Diffstat (limited to 'editor')
-rw-r--r--editor/plugins/spatial_editor_plugin.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/editor/plugins/spatial_editor_plugin.cpp b/editor/plugins/spatial_editor_plugin.cpp
index e2c8caae1f..607052231a 100644
--- a/editor/plugins/spatial_editor_plugin.cpp
+++ b/editor/plugins/spatial_editor_plugin.cpp
@@ -74,7 +74,9 @@ void SpatialEditorViewport::_update_camera(float p_interp_delta) {
Transform old_transform = camera->get_global_transform();
Transform transform;
- if (p_interp_delta && Input::get_singleton()->get_mouse_button_mask() == 0) {
+ bool disable_interp = (Input::get_singleton()->get_mouse_button_mask() & (2 | 4)) || Input::get_singleton()->is_key_pressed(KEY_SHIFT) || Input::get_singleton()->is_key_pressed(KEY_ALT) || Input::get_singleton()->is_key_pressed(KEY_CONTROL);
+
+ if (p_interp_delta && !disable_interp) {
//interpolate
float interp_speed = 14; //maybe should be made configuration
transform = old_transform.interpolate_with(new_transform, MIN(1.0, p_interp_delta * interp_speed));