Page MenuHome

Sculpt: Expand 'Stroke Mode' enum to support quick switch to brushes and mask brush tool for keymaps on Sculpt
Needs RevisionPublic

Authored by Juanfran Matheu (jfmatheu) on Fri, Jan 3, 1:50 AM.

Details

Summary

This is based on a papercut: https://devtalk.blender.org/t/more-sculpt-modes-for-the-shift-left-mouse-hotkey/10048

The problem is clear: Insufficient brush options to momentary switch brush via shortcut without leaving the active brush

Actually we just give support to smooth, invert brush and normal brush effect. Some of the most - ask for - options/brushes to be included in this menu are: mask brush, brushes that flatten the surface such as scrape and flatten brushes, and so.

With this patch I give support to add brushes by type to the 'Stroke Mode' list as well as mask brush tool. Extend the list from this point is pretty easy as only few lines per brush have to be added. I also took in count the shared across property between texture paint and sculpt so I splitted it to be able to extend the property for sculpt while maintaining the one from the texture paint giving then more possibilities for the future to expand them independently without any problem.

Also, this patch has a reduced version of the list with just few needed brushes. But I have a patch that includes almost all brushes just in case core devs agree with it. From user feedback I got that everyone want to have the freedom to choose any brush, that is, to have the complete list of brushes. That's why I think could be positive to include all them on the list.

I have made a reduced build to test the patch: https://blender.community/c/graphicall/7jbbbc/

Diff Detail

Event Timeline

Juanfran Matheu (jfmatheu) edited the summary of this revision. (Show Details)
Pablo Dobarro (pablodp606) requested changes to this revision.Mon, Jan 20, 7:05 PM

I would rather wait to have the asset manager before trying to add something like this. This should not be a keymap option and the user should be able to choose any brush preset to use as the Shift mode, not just the default preset for the tool.
In 2.83 we are probably going to include multiple brushes per tool, so an approach like this will be confusing as you won't know which brush are you switching to.
@William Reynish (billreynish) What do you think?

This revision now requires changes to proceed.Mon, Jan 20, 7:05 PM

This should not be a keymap option

Of course it should. Many dcc apps have this function built in automatically in the keymap.

This is not about the "shift mode". This is about a more fluid workflow and quick accessing the brush, and you can map it to any key ofc.
The most crucial thing for me is the mask option, which I don't know the reason why it's not on that list by default.
With this patch, I would be able to assign the M key to use this feature instead, so I could access the mask brush the same way as we do in zbrush, by press and holding, instead of toggling, which is a pain.
And no, the asset manager has nothing to do with it.

the user should be able to choose any brush preset to use as the Shift mode, not just the default preset for the tool.

@Pablo Dobarro (pablodp606) I agree with you on this, I probably want to use my brush and not the default scrape brush, for example. But so much people work with default brushes just because we don't have a good managment of brushes, as you well said, we have to:

wait to have the asset manager

So if asset manager will come soon we can make a better thing with it and support every brush the user have in the asset manager, and that's really the way to go, but the thing is, when?

If you agree I want to propose to add at least mask tool brush (draw) to the - actual - list as it's something every software with sculpt tools have, because:

  1. We already have smooth brush added to that list and you can have as much smooth brushes you want but you just will able to use the default brush, the one that is called "Smooth" and if you delete this one you won't be able to use it anymore via shortcut https://developer.blender.org/D6509 So adding , at least, mask brush to the list is not really a problem, users will love to.
  2. Mask brush is not a brush like scrape or draw where users often have so much brush variants of the same brush type/tool. People will often want the default behaviour of this brush.
Juanfran Matheu (jfmatheu) added a comment.EditedMon, Jan 20, 7:45 PM

Another option could be add all brush tools to the list, and when switching to a brush via shortcut, change to the active brush of that brush type/tool instead of change to the default brush, that way it will support any brush the user have as it will change to the "active" brush of that tool. I hope to explain it well.

at least mask tool brush

Yes, at least the mask brush. That's a legendary request.
Please make this happen guys, for zbrush fellows's sake. ๐Ÿ™‚
Cheers.

I agree with @Pablo Dobarro (pablodp606). Really users should be able to set *any* custom brush as a secondary brush in your brush picker. To support that well, we first need to fundamentally improve the brush management and asset system in Blender.

Yeah, I'm here for the mask option too... Can we have that, please?