diff options
author | Ryan Roden-Corrent <ryan@rcorre.net> | 2022-03-05 14:57:51 -0500 |
---|---|---|
committer | Ryan Roden-Corrent <ryan@rcorre.net> | 2022-03-05 15:00:11 -0500 |
commit | 34b87772b48d47601a55a7a93de07a96b7c44ae1 (patch) | |
tree | 2eac6235a2046a2ef103b1c98848fec4d070119e | |
parent | ff65d33e8c278bfbbbad18f9db959b2bbe04f919 (diff) |
Disable blender-style tranforms in freelook.
It's common to bind instant_scale to s, which conflicts with WASD
bindings in freelook mode.
Fixes #58502.
-rw-r--r-- | editor/plugins/node_3d_editor_plugin.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp index 002c879cdc..293ef48694 100644 --- a/editor/plugins/node_3d_editor_plugin.cpp +++ b/editor/plugins/node_3d_editor_plugin.cpp @@ -2037,14 +2037,16 @@ void Node3DEditorViewport::_sinput(const Ref<InputEvent> &p_event) { if (ED_IS_SHORTCUT("spatial_editor/cancel_transform", p_event) && _edit.mode != TRANSFORM_NONE) { cancel_transform(); } - if (ED_IS_SHORTCUT("spatial_editor/instant_translate", p_event)) { - begin_transform(TRANSFORM_TRANSLATE, true); - } - if (ED_IS_SHORTCUT("spatial_editor/instant_rotate", p_event)) { - begin_transform(TRANSFORM_ROTATE, true); - } - if (ED_IS_SHORTCUT("spatial_editor/instant_scale", p_event)) { - begin_transform(TRANSFORM_SCALE, true); + if (!is_freelook_active()) { + if (ED_IS_SHORTCUT("spatial_editor/instant_translate", p_event)) { + begin_transform(TRANSFORM_TRANSLATE, true); + } + if (ED_IS_SHORTCUT("spatial_editor/instant_rotate", p_event)) { + begin_transform(TRANSFORM_ROTATE, true); + } + if (ED_IS_SHORTCUT("spatial_editor/instant_scale", p_event)) { + begin_transform(TRANSFORM_SCALE, true); + } } // Freelook doesn't work in orthogonal mode. |