-
-
Notifications
You must be signed in to change notification settings - Fork 21.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bind Blender-style translate, rotate and scale shortcuts in the 3D editor #78148
base: master
Are you sure you want to change the base?
Bind Blender-style translate, rotate and scale shortcuts in the 3D editor #78148
Conversation
Uh I was wondering why they weren't bound, I supposed that it was intended behaviour. I suppose that I'm not the only one to have thought this so this PR would definitely help a lot. |
I'm ok with this. I think that some of the other engines expect maya bindings though, but that's not a direct relationship to this pr. |
I'm a bit concerned about that change, as it does break the whole Q-W-E-R-T line which people might have developed muscle memory for. It can be changed back, but it's a breaking change and it makes the remaining Q-W-E and T shortcuts inconsistent. |
The concern about the clash with the QWERT actions still needs a resolution.
I would say that the pattern to bind those hotbar actions to Q-W-E-R-T isn't something you commonly find in other tools. Semantic binds make more sense, IMO, or binds that match other similar software. This connection to Q-W-E-R-T also doesn't always make sense in non-Latin layouts, and prevents us from rearranging the buttons on the hotbar, should we want to. I wouldn't restrict us in this way. |
I think the users should have the option to reverse to the "traditional binding" if they want to. Or alternatively, the new system should be integrated in a way that does not disrupt the previous system.
This is not true, Maya and Unity uses exactly QWER for select, pan, rotate and scale. Substance 3D Painter and Unreal use WER for pan, rotate, scale. Houdini shifts them one key to the right using ERT. Sparseal Uniform that was released by a former Blender developer last week also goes for a "grid key" system mapping QWE, ASD, ZXC to shorcuts, which seems very powerful. In terms of the Semantic binds, it sounds convincing on a theoritical level for memorisation (e.g. ATL+M for merge). But in practice, we want the users to:
These above points are why the industry is binding Select, Pan, Rotate, Scale on QWER.
I mean, we could argue that Blender is breaking the muscle memory of everyone coming from another software 😄 haha!
Is there a way to automatically convert QWERT to AZERT when on a French keyboard for instance? to be honest, that would be useful for any First Person Shooter game as well 😃 ! But that's basically a whole other problem. ⭐ Suggested Solution: Example. I press R, the rotation gizmo appears and a tooltip on the left top corner says: Alternatively, if we could just use the TAB key to switch between Blender mode and Gizmo mode (a small movement from QWER). Hope this is useful. |
Yes, using physical key shortcuts. We already use this for the freelook shortcuts since 4.2. The issue is that conflicts can arise due to keyboard layout translation if only some of the editor shortcuts are physical (and not all of them). |
…itor These used to have no binds by default, which severely limited their discoverability. The default bindings are the same as in Blender: G for translate, R for rotate, S for scale. The default shortcut for the Rotate tool has been moved to Ctrl + R (Cmd + R) on macOS to accomodate for this change. While this makes the shortcut less consistent with the usual "Q-W-E-R-T" line of shortcuts, quick rotation with Blender-style transforms is arguably more convenient during day-to-day editor operation. To avoid breaking people's muscle memory, we should try to use shortcuts as similar as possible to Blender's. The S key is only used for scaling if not currently in freelook mode.
fcc7f90
to
04aa1f6
Compare
Only Blender uses GRS for transform tools. Overwhelming majority of industry standard tools use QWER. They make much more sense since they are concentrated next to each other and can be ordered in the same order toolbar buttons are arranged. They are just easier to learn that way.
Prioritizing muscle memory or users of one specific 3D package at the expense of the overwhelming majority of the other ones is a really weak argument. For reference, these are 3D apps using QWERT hotkeys for select/transform modes:
GRS hotkeys:
|
G R S almost make the need to use the Q W E R tools obsolete, but I understand that a lot of people would still want to have access to using the specific move/scale/rotate tools if they're used to them. However I STRONGLY believe that blender's G R S are superior and are much more efficient to use in general, if they're adopted as the standard, they would make working with other parts of the engine like the timeline and bezier curve editor a lot nicer too. I've outlined why I think G R S are useful, and shown some examples in this discussion The solution I suggest is to get rid of Q W E R and allow switching to them through a pie menu as discussed here Alternatively, in Blender you can press There are multiple ways to interact with this menu:
I really hope to see G R S being adopted into Godot. I personally miss these shortcuts in every other software I use and I find that I'm much slower without them. The reason I love them so much in Blender is because they're consistent across all windows in the entire software, 3D viewport, 2D image/UV view, Graph editor, Timeline/Dopesheet, Shader node editor, etc. Whenever you have to move, rotate or scale anything, nodes, objects, keyframes, bezier handles, whatever it is = you don't even have to think about it. You're done with making the transformation before you even have the time to
I understand I potentially sound like a crazy person to complain something as small as moving the mouse to a gizmo, but even that micro time shave makes a huge improvement over time. |
These used to have no binds by default, which severely limited their discoverability. I noticed this while testing #59467 locally.
The default bindings are the same as in Blender: G for translate, R for rotate, S for scale.
The default shortcut for the Rotate tool has been moved to Ctrl + R (Cmd + R) on macOS to accomodate for this change. While this makes the shortcut less consistent with the usual "Q-W-E-R-T" line of shortcuts, quick rotation with Blender-style transforms is arguably more convenient during day-to-day editor operation. To avoid breaking people's muscle memory, we should try to use shortcuts as similar as possible to Blender's.
The S key is only used for scaling if not currently in freelook mode.