This is a WIP thread that I will continuously update based on feedback & discussions. There’s a lot to talk & think about so I’d like to share my thoughts while fleshing out the proposal
Based on the proposals and discussions on:
The proposal by William Reynish is a bit outdated since the Toolbar changed in layout & functionality based on the previous issues, but his points are still incredibly valuable. Ideally read through that first
I am going to include planned features like the ones by Pablo Dobarro here as well.
Once the proposal is more fleshed out I’ll start adding visual mockups.
The Issues
The Toolbar is designed as an easy way to access all Active Tools and any Sculpting, Painting or Grease Pencil brushes that the user needs without obscuring them with too much clutter.
At first this was great for all Sculpt & Painting Modes but once the definitions of Tools vs Brushes got more defined and separate, the Tools became less useful as a way of selecting brushes.
The Active Tools are not the thing the user wants to access. The Brushes are.
Most users don’t care about Tools, they just want a global, easily accessible brush pallet for all brushes.
With the new addition Brushes and Tools of Pablo Dobarros sculpting branch, another issue becomes harder to ignore:
In most cases there’s only one Brush per Active Tool.
This is an issue that will become worse the more functionality gets added over time and it already makes the Toolbar in Sculpt Mode the messiest of all of them.
The Design Task T56744 by William Reynish would be a great step in the right direction with the RMB context menu for quick brush selection, favourites, dynamic brush previews & categories.
But this introduces a new issue:
The proposed improvements also makes the Active Tools UI of the Toolbar useless.
The click & dragging to bring up the brush selection from Willimas proposal is a good idea but the Toolbar needs a bit more than that. It already drove people nuts to click & drag and then select from the list to access their brushes in previous design iterations.
Users are always going to rather use shortcuts or access their favorites via the proposed RMB brush selection.
The previous issue of having usually one Brush per Active Tool makes this worse.
There’s another smaller issue with the proposal:
Dynamic brush previews have to be a lot more complex for Sculpting Tools.
If we would try to give a helpful preview the same way painting brushes are previewed, then the depictions are going to be very misleading or could hide the important information. The functionality of sculpting brushes is generally just way too complex for a simple preview like the proposed one.
But the dynamic brush previews are also taking up way too much space.
The current design in the Toolbar of selecting from a grid of Tools is great and the most optimal way of selecting from a large pool of brushes.
So ideally there would need to be a square version of the dynamic brush previews or perhaps another way of displaying brush icons in a square format as an alternative to the wide dynamic previews.
Also, even if we would try to push the Active Tools into the background and revolve everything around a constantly growing and potentially infinite amount of brushes, we run into the last issue:
How do we create a left keyboard focused keymap for every (alternatively the most important) Brushes?
The Proposal
Step 1: Merge all Active Tools that include Brushes
The first issue that needs to be solved is the distinction between Active Tools and Brushes.
Having Active Tools as a set of options and Brushes as saved presets of those options is a good design idea but obscures the Brushes that the user wants to access.
Here's what Pablo Dobarro said
What we are currently calling “tools” are just different formulas that run on each vertex to produce certain deformation. They all run under the same operator and they fundamentally share most of the parameters (some parameters may not be used in some formulas, that is why they are hidden).
…
We are presenting these formulas on the interface as tools, under a name and an icon that we assume should be the default behavior but which does not communicate any information about what that formula really does. If you are editing custom brushes, a description like “move vertex along its normal” is more descriptive than “inflate”.
…
Under the brush panel, there should be a “Deformation” dropdown to choose which deformation formula you want to use for that preset. This dropdown should contain all deformation formulas we have in Blender. When a deformation formula is loaded, it’s parameters can be shown under the same panel.
…
Users can create an unlimited number of brushes, they can import brushes to the same place on the UI and search them from there. They won’t lose any brush effect because they can create them from scratch any time just by adding a new brush and selecting the deformation formula they want.
…
Users can name the brushes the way they want and organize them as they want in a way that is meaningful to them
So the purpose of this step is to essentially invert the Tool/Brush releationship:
Instead of using Tools to access Brushes, we access the Brushes directly and change the deformation formula within the Brush settings to change their behaviour.
The Deformation presets could be short & descriptive like the current Tools, with detailed Tooltips of what effects they will add to the Brush.
Based on the selected Deformation preset, the Brush options will change.
Most likely the Deformation presets will remain similar to the set of Tools we have right now but a few could be merged to share their settings or because they were already so close to identical.
An example of this is the Grab & Thumb Tool, which have the only main difference that Grab is using a View Plane and Thumb an Area Plane for sculpting.
Step 2: Bring the Brushes back to the front!
Next we would need to adjust the UI to support Brushes instead of just Tools.
A Brush in this case would mostly need to be visually identical to an Active Tool in the Toolbar.
My proposal is to:
-
Remove all Active Tools that use Brushes from the Toolbar and instead replace them with the Brushes themselves
-
Manually switch between List or Grid view in the Toolbar with a toggle
(This ill make it possible to show a large brush pallete of square icons) -
List view would show both the square icon, the brush name and a dynamic brush preview as in T56744
-
Add a simple dropdown to the top of the Toolbar to choose the brush category to display.
By default this would be ‘All’ Brushes but it could also be switched to ‘Favourites’, or any custom created categories like ‘Skin Brushes’.
This would keep the Toolbar potentially from exploding when too many Brushes are present and give the user the option to customise the brush pallete of the Toolbar based on the current task. -
RMB clicking on a Brush will give you the usual options such as assigning a shortcut or quick favourites, but also an option to assign a category to manage your brushes directly in the Toolbar.
Here are some rough mockups:
Step 3: Improved Brush previews
The proposal T56744 by William is sound and dynamic brush previews would be a great addition, since it can show you at a glance what the effect & settings of the Brush are.
Unfortunately the current design proposal does not fit the more complex 3 dimensional sculpting Brushes since the information they present can be misleading or too lacking to be useful.
In my opinion i’s basically impossible to achieve this kind of system properly so here are my suggestions:
Instead of mostly relying on dynamic brush previews, a much more universal system would be to use distinct icons. We could expand the amount of available icons that are currently used for the Brush-Tools.
These could then be automatically picked based on the current deformation preset & additional brush options.
The user could then also choose an icon themselves from a big selection of pre-made icons & colors. This way the user doesn’t need to make all their brushes distinct by importing their own icons, which is very tedious and takes a lot of effort (Although this could still be an option like before)
(Mockup coming soon)
Instead of using dynamic brush previews in Sculpt Mode when viewing the Brushes in a List, this could be replaced by plain information on the current brush settings.
So we could show icons based on the stroke method, falloff curve, the used texture & sculpt plane.
This is less sleek but more informative.
(Mockup coming soon)
Step 4: Improving the overall Brush accessibility
The more Tools and Brushes are being added and created the harder it is to set up a good UI & default keymap to support all of them.
Ideally all Tools/Brushes should be harboured in the Toolbar and should have a shortcut but this is not something very easy to do if the amount of Brushes can be endless.
So there needs to be a way to access all your most used brushes and every brush in a scaleable way:
With the changes of step 1:
- Shortcuts would now also assigned to Brushes instead just of the Tools
- Cycle between the Brushes with the same shortcut
- Give the spacebar Tool selection menu the same treatment as the Toolbar (Brushes more prominently featured)
While the Toolbar can be used to show a specific category of Brushes, there always needs to be a way to access all Brushes there are. This would have to be the spacebar menu since this would be consistent with all the other modes & Tools. It would be great to update the layout to fit a much bigger selection of Tools/Brushes though:
- I would propose to keep the List view since it shows more information (Name, Shortcut) but the list would continue horizontally if it becomes too long.
- Create a full keymap for the spacebar menu to make it the best method to access any Tool/Brush reliably.
(Mockup coming soon)
Outside of the spacebar menu we should keep a minimal keymap (Similar to the current one) to access the most used Tools/Brushes by primarily using the left side of the keyboard.
This should also give the user enough possible shortcuts to add their own shortcuts:
Another big remaining question is: What should we do with the RMB context menu?
We could show, just like in the other modes, the most commonly used options for quick access and add even the Favourites category of brushes. I open for more suggestions for this.
In Conclusion
This proposal is still WIP but if these ideas would become a bit more fleshed out they would drastically improve the Brush system in Blender, how we customise & organise our Brushes and how we access them quickly & effortlessly.
If you have different ideas or want to add to the proposal leave a comment below.