The Tools/Brush Workflow

yeah, it pretty much aligns with your proposal.

I don’t think so.
We basically had that before, but unfortunately out of nowhere this new 2D concept shows up and destroys everything. This photoshop style of brush management has no place in a sculpting environment.
We need to go back, bring back the global brush panel and start improving from there.

That’s what I’m talking about. Clean and direct, no BS. :v:

I think the Spacebar menu could be a great place to access all Tools & Brushes with a keymap that enables the user to quickly choose any of them. Luckily we are not at Zbrush levels of brush diversity yet :sweat_smile:

Some people have a lot of custom brushes, and without a panel like that it’s a nightmare to access them.

Under this step, you don’t make distinction between active tools like Box Mask, Lasso Mask, Box HIde or Annotate and brushes.
You are almost only talking about brush tools and insisting in a need to merge them to have less of them.

I am a bit skeptical about the idea that just adding a texture to a Draw brush would be sufficient to retrieve sensation of a Clay Strips brush. Currently, you can add a texture to a Clay Strips brush.
In you system, user would have to merge default texture with the one he wants.

Suggested Draw category means that you add settings of layer brush about persistent base, a pinch slider + a switch to change its effect to magnify.
So, it is not really like adding 5 settings to a clay brush panel but rather adding 8 settings to it.

With recent additions like Normal radius and Topology Rake sliders, that means that we are more than doubling number of settings of the brush panel of current most complicated brush for what should be future default brush.

For sure, that would allow more customization. But that does not simplify UI at all.
Initial proposal was to allow same customization through Node Brush. With ability to ignore in UI, settings user is not interested in.

Then, step 2 is about getting a direct access to brushes instead of Brush tools. Step 4 says an unlimited amount of brushes.
So, why do we have to care about number of brush tools ?
OK ! 2 dozen of them is a lot. But merging 8 of them into one tool, that is pretty extreme.
I think that we could avoid to complexify a lot UI of default brushes by accepting 15 tools instead of forcing reduction to 10.
Anyways, default brush set will continue to contain 2 dozen or will expand to 3 or 4 dozen of brushes.
Why not waiting node brush to be mature to drastically reduce number of brush tools ?

About dynamic previews, I think that is an effort for no gain. Like most of people, I will probably not trust them.
I would prefer a grid mesh available to test my settings rather than an automatic preview that gives no indication about what result corresponds to what on pressure on my tablet.

I think the main problem in the brush/tool management in sculpt mode is the arbitrary division of brushes into tools based on the deformation formula they are using.

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).

In the implementation of the sculpt brushes, there is a switch-case that runs the corresponding formula based on the sculpt_tool attribute of the brush. If we want, we can merge all these formulas into one, add even more parameters and replicate with that the behavior of all brushes, but I don’t think that is necessary.

So, basically:

  • We are assuming that a deformation formula produces only one kind of effect for the user, which is not true. For example, you can achieve a "crease"effect with the crease formula or with the orco formula. You can use the simplify formula to smooth the mesh, you can use the scrape formula to polish hard surface edges, you can use the flatten formula to smooth large areas…
  • 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”.
  • When sculpting/painting, users will try brushes until they find the desired effect, without caring about what deformation formula the brush is using. When you start getting familiar with a sculpting/painting software, you start to memorize which brush presets do certain effects, so you want to search for them in one place. In most cases, you should not care about what deformation is running under the hood.

Example: Krita

Krita has a freehand brush tool and it has a panel which is called brush and prests. From this panel you can load any preset you want into the tool.

Krita hasta different brush engines (our sculpt deformation formulas) that run when you are painting with the brush tool. Brush presets store the engine that they use and its parameters, but they are all accessible under the same tool.

Each engine can produce a different kind of effect. They have deform, smudge, pixel, particles… Despite this, all brush presets are accessible from the same place and they run under the same brush tool. Most users are not going to care which engine is the brush presets using, they are going to see if they like the effect of the brush or not, and based of this they are going to organize the brush library accordingly.

Solution: Only one brush tool with brush preset library.

Sculpt mode should only have one brush tool. Brush presets should store the deformation formula they use and its parameters. They all should be accessible under the brush tool.

If we want to keep something similar to the current toolbar UI, we can add some of these brush presets to the toolbar, but they won’t change the active tool. They just load a predefined brush preset into the brush tool.

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.

As an initial version we don’t need anything fancy for the brush library. Just a simple list with icons and a search menu will do. In the future, we can add categories, folders, import/export selections and so on.

This approach solves the current (and future) problems:

  • 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.
  • When we have the “node brush” it is just going to be another deformation formula that runs a node network. No changes on the UI are required.
  • If we merge Sculpt and Vertex Paint, there should be a formula that produces no deformation (SCULPT_TOOL_PAINT in the sculpt branch). This way, users can create brush presets that only apply color.
  • We can have a deformation formula and a color formula for each brush presets to allow further customization of the sculpt/vertex paint mode.
  • Users can name the brushes the way they want and organize them as they want in a way that is meaningful to them
  • We can add configurable pie menus or the ability to assign shortcuts to brush presets to be able to switch them faster. Users can easily configure this as they need so we don’t need to enforce any specific keymap for brush switching.
28 Likes

I don’t like the “Zbrush” solution because unless I already know the brush strokes by heart, I don’t realize the difference. Zbrush is very powerful, but its interface is very unfriendly.

1 Like

Yes Pablo, Krita has the solution.
Apart from the above, just remember that Krita also allows you to label the brushes, so that you can group the brushes in panels according to the needs, in the case of sculpture for example, we could group the brushes to create basic volumes, add details, hard modeling , or to create folds in tissues …

Little recordatory of this proposals. Where I talk about brushes system and sculpt interface

the main points

  • unify brushes system, at least from a user point of view
  • unify thumbnails with a zbrush style, easy to create for new users the brushes
  • popup to select icons, with hotkeys to select easily or filter?
7 Likes

I see it that way. The bar or horizontal panel to choose according to user preferences.
It would be necessary to improve the coloration, of course :wink:

2 Likes

i dont see a reason to use colorations, each brush make what we want. and they could have various deformations

1 Like

So you’re saying that we would have just one tool in sculpt mode, where we can access all the brush presets, like:


This is what we want, yeah. But with proper icons of course. :wink:

And with a customizable toolbar in mind, we would be able to right click on a brush preset and add it to the toolbar, like:


Sweet :wink:

Alright, perfect. I’m in. :wink:

26 Likes

I don’t see the need either, it was to preserve the coloration according to the function of version 2.80.
If version 2.81 allowed to paint the vertex color while sculpting, it would be very simple to make thumbnails like the ones attached.

Good
However, I don’t know if it would be better to use “Asset Manager” to have the presets permanently accessible, as in Substance Painter.

3 Likes

+1 for custom toolbar for brush modes.

I would have managed brushes set creation from a panel in sidebar or properties.
But main idea is there.

A discrete switch into header between custom brushes set and other active tools could allow to switch from such toolbar to the one in @wevon mock-up.

Thanks a lot for the feedback everyone! <3
I started updating the description of the thread to mirror the common viewpoints in the comments a bit more. I hope I can soon create some properly written descriptions and mockups for the current design proposals and add them as well.

Click on the little orange pencil icon on the top-right corner of the description to see the changed texts :wink:

1 Like

This is it. Well done…

1 Like

I added a couple of mockups. Let me know what you think!
More mockups of the panels, spacebar menu & dynamic brush icons are coming as well and don’t forget to read the description next to the mockups for context :wink:

2 Likes

please don’t beat me …
as reminder, since we are talking about general refactoring of sculpting/brush interface to make everything more comfortable and faster …
At least for sculpting and painting tools, take this proposal into consideration on an optional level…

blenderslider

krita_speed

1 Like

I don’t think this is really related to the issues and proposals listed above :wink:

obviously, for this reason I asked Venia, not to bother me.
I, on the other hand, think that sometimes we need to have a minimum of flexibility, otherwise things that are fairly important and fairly correlated, and even rather trivial to obtain, are lost in oblivion and always remain a step less than the competition…
i want the best, so the have to risk. :wink: