Rename Select Mode to Transform Mode, and create a new Select Mode without transform gizmo#101168
Conversation
eb85f6b to
8b9ad8f
Compare
8b9ad8f to
1d4cedc
Compare
|
I just tried it and it looks fine (and useful), however selecting a node with its own special handles it will still cause these handles to show up - e.g. selecting a CollisionShape3D shows the handles to resize the shape, so you can still accidentally change something you didn't mean to: Shouldn't these handles also not show up when in selection-only mode? |
I thought for a bit on this when developing this functionality and decided against it because I figured if you're selecting a collision node for example, you are trying to actively modify it (but not necessarily its transform). Typically, those gizmos are not occluding anything behind them that you would want to select, at least not as bad as the transform gizmo. In Blender for example you also have a few special gimzos you can modify even in select mode. |
|
Yeah i guess this might be a bit niche (i do not have strong opinion either way) and if needed it could most likely be done as a separate "View ..." check in the viewport menu alongside "View gizmos", "View transform gizmo", etc. Actually, is the "View transform gizmo" option even needed anymore with this PR? |
I personally like it because it allows you to do certain things that maybe you can't with other modes/settings. For example, hiding the transform gizmo only applies to single viewport. Also, the underlying function of the chosen mode still works even without the gizmo being visible, like being able to rotate an object by just dragging anywhere on the screen. Of course, using blender instant transform bindings can serve a similar purpose, but some people might prefer the alternative this functionality offers. In general, I'm of the philosophy that you should be able to hide or modify just about everything. I made a proposal a while back to change the editor viewport message to a label so even that can be hidden/modified at least via plugins: godotengine/godot-proposals#8789 301301199-e87626f3-8766-4ddd-b686-4e8b997ed116.mp4 |
Ah yeah you are correct. This is very useful for 2D views (i mean the axis aligned orthographic views in 3D scene) though Godot's implementation is a bit lacking because you can't change the selected item from any mode, it doesn't work in the multi-gizmo mode and in 3D it is pretty much never what you want (it should really only be used for translation even in multi-gizmo mode and use the closest plane box instead of a screen aligned plane). I first encountered something similar in Radiant (the level editor family) and while it took me a long time to get used to it, i realized it can be much faster to work with than the more common "point and click on a handle/arrow/widget to move it" approach most tools use. That'd probably be something for a new proposal though, not really relevant to this PR. |
08aa465 to
da97675
Compare
7a16f29 to
67fb9c8
Compare
|
Updated icon thanks to @didrif |
67fb9c8 to
a69cc83
Compare
|
I wanted to note that we need to check for keyboard key conflicts with both maya and blender style. |
|
Did you mean to post this in the related PR? #87756 I don't think this one will have any conflicts. |
|
@passivestar @lander-vr Could you give this PR a try when you have time? |
3e8960b to
a11632f
Compare
It was mostly arbitrary based on what was available, I am completely open to suggestions on this.
I don't use 2D nearly as much as 3D, but I can say that the issues of not having a tool like this in 3D are vastly more pronounced and a legitimate usability issue. We'd have to get the opinions of people that use 2D a lot more to see if they'd want something like this.
This is fixed (as long we keep |
a11632f to
89ab30b
Compare
89ab30b to
2d4c87f
Compare
2d4c87f to
edf1f23
Compare
|
Rebasing after: #109465 Verified that everything still works. |
editor/run/game_view_plugin.cpp
Outdated
| select_mode_button[RuntimeNodeSelect::SELECT_MODE_SINGLE]->set_theme_type_variation(SceneStringName(FlatButton)); | ||
| select_mode_button[RuntimeNodeSelect::SELECT_MODE_SINGLE]->connect(SceneStringName(pressed), callable_mp(this, &GameView::_select_mode_pressed).bind(RuntimeNodeSelect::SELECT_MODE_SINGLE)); | ||
| select_mode_button[RuntimeNodeSelect::SELECT_MODE_SINGLE]->set_shortcut(ED_GET_SHORTCUT("spatial_editor/tool_select")); | ||
| select_mode_button[RuntimeNodeSelect::SELECT_MODE_SINGLE]->set_shortcut(ED_SHORTCUT("spatial_editor/tool_select", TTRC("Select Mode"), Key::V)); |
There was a problem hiding this comment.
I realized this actually makes sense, but not in this form.
The select mode here is used both for 2D and 3D, so it should probably be a separate shortcut. It can be done in a separate PR, since it's not really related.
edf1f23 to
77c84d6
Compare
2D doesn't have full transform gizmo, so it doesn't have this issue. |
|
Great to see this finally happening. I think it should be bound to Q since Godot defaults to W/E/R Move/Rotate/Scale hotkey standard, and W/E/R layout is usually complemented by Q being the select key, not multi-transform key. As @passivestar mentioned, V is usually used for context-based transform tools in other software, so it would be an ideal candidate for the multi-transform mode, and Q would become the select mode. |
eef6176 to
a791657
Compare
…thout transform gizmo
a791657 to
0b93712
Compare
|
Thanks! |





Closes: godotengine/godot-proposals#7834
Related: #87756
Currently bound to
V, open to suggestions. This can be changed to be anything by modifying shortcuts in the editor, in case people want this to be the option bound toQ.Region selection works even when initiated on top of a node, which is another benefit of this mode.
Edit: See below video for updated icon.
2025-01-05.20-09-14.mp4
Thanks to @didrif for providing the SVG for the transform tool.