Skip to content
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

Rename Select Mode to Transform Mode, and create a new Select Mode without transform gizmo #101168

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ryevdokimov
Copy link
Contributor

@ryevdokimov ryevdokimov commented Jan 6, 2025

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 to Q.

The icon for the "new" transform mode (old select mode), is a placeholder. I don't have much artistic ability to create a new one.

Region selection works even when initiated on top of a node, which is another benefit of this mode.

2025-01-05.20-09-14.mp4

@badsectoracula
Copy link
Contributor

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:

image

Shouldn't these handles also not show up when in selection-only mode?

@ryevdokimov
Copy link
Contributor Author

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.

@badsectoracula
Copy link
Contributor

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?

@ryevdokimov
Copy link
Contributor Author

ryevdokimov commented Jan 6, 2025

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

@badsectoracula
Copy link
Contributor

badsectoracula commented Jan 6, 2025

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.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add a setting to disable Select Mode manipulator gizmo
3 participants