For 2.8, we've included a new toolbar and widgets system.
We have identified a few ways in which we can make improvements in this area.
This is applicable for tools that rely on selections, in Object and Edit mode.
The main issues with the current configuration is:
- It's too much of a hassle to switch between selection and operation
- Tools are currently inconsistent, because some tools show gizmos, while others don't
We can address this like so:
- By default, when clicking and dragging in the viewport, outside of the gizmo, you will perform a box selection.
The selection type can depend on the current select tool that's in the toolbar foreground:
QUESTION: will we have options for these tools accessible anywhere? or will you need to activate them to change their options?
- This can be controlled by the Drag setting, which will become accessible for all gizmo-tools:
With the default keymap, user can also hold Alt to do the opposite thing, meaning that although it will select by default, you could still hold Alt and drag to use perform the tool action outside of the gizmo.
All this will make selection much more immediate, without requiring users to jump back and forth between selection tools and action tools.
To make this work consistently, we will have to include more gizmos for more tools. For normal tools, we cannot rely on clicking and dragging, because that will now box select, so we need something to click and drag on to execute the tool.
We have thus far avoided adding gizmos for so-called 1D tools, which don't represent any axes of input, but just usually represent a single amount. Examples of those are Bevel, Inset, Extrude Along Normals, Extrude Individual, Smooth, Randomize, Shrink/Fatten, Push/Pull, To Sphere.
Below is an example of how the generic amount-gizmo would look like:
Since this only works if selection-based tools have gizmos, here's a compiled table that describes how each tool's gizmo. See T70047: Gizmo support for all tools
Gizmo as Dominant Tool Access
This proposal makes gizmos the dominant method of accessing tools by default.
- A gizmo is an obvious place to access the tool.
- Pressing on a small gizmo is less efficient than clicking anywhere on the screen.
- A gizmo may be off-screen depending on the selection.
- Tools that depend on the cursor position don't fit so will when activated as gizmos. (Click-Extrude / Bisect / Rip / Poly Build). These will either need to be modified to work differently or not use selection at all.
UNRESOLVED: How will the rip tool know which side to rip from if we can't use the relative mouse location.
Immediate Tool Activation (Alt-LMB)
- The key is currently free by default.
- Won't work with MMB-Emulation (which users seem to want to keep T69323: Remove/Update "Emulate Middle Mouse" preference).
- Inconvenient in the case we want to use other modifiers (Ctrl/Shift). Since we typically want to avoid actions that use too many modifiers.
eg: If the user has drag set to access the tool, an intersecting border select action would be: Ctrl-Alt-Shift-Drag.
- Won't work well with tools that already use holding Alt.
Tools that already use Alt require Alt-Click, Then release and pressing Alt again (feels awkward).
- Edge/Vertex Slide.
UNRESOLVED: How will tools that already use Alt be handled.