Page MenuHome

Brush Tool Properties re-org
ClosedPublic

Authored by William Reynish (billreynish) on Mar 16 2019, 11:18 AM.
Tags
None
Tokens
"Dislike" token, awarded by Regnas."Dislike" token, awarded by nutel."Like" token, awarded by amonpaike."Love" token, awarded by Tetone.

Details

Summary

This implements the most important items from T62490.

The problem with our paint tool propertiers, is that it has been incredibly disorganized.

  • The color palette swatches are far away from the palette picker
  • The color gradient appears far away from the Use Gradient checkbox
  • The lock icons next to the Strength and Radius icons have nothing to do with locking anything
  • We don't use hierarchy to communicate information and related options

This patch makes the following changes:

  • Consolidate each brush section (Color, Swatches, Gradient) and make them distinct
  • Remove the lock icons and move these items into an Advanced sub panel, together with other toggles
    • They now have descriptive names that users have a chance to understand
    • Use an enum for view vs scene brush unit
  • Use Property Split layout and sub-panels in line with the rest of 2.8

Here are some images of how this looks:

(The brush picker itself still looks awful, and still isn't dynamic, but that is unchanged)

Texture Paint:

Vertex Paint:


(Here with square color picker, set in Preferences)

If users wish to use swatches, they can use the dedicated Swatches sub-section with swatch palettes:

Weight Paint:

Sculpt Mode:

Diff Detail

Event Timeline

Updated patch to apply correctly against latest changes in master.

Rename Size Unit to Radius Unit (more correct).

Updated to apply cleanly with latest master.

Overall looks like some neat improvements in organization!

The only thing I'd change, is to merge the Swatches panel with Color. Swatches are super useful, having them in a panel right underneath is a bit of waste of vertical space, let's make them first class citizens! Also confusing to use Swatches and Palettes together, isn't it the same thing? Shall we just rename both to use the same?

@Pablo Vazquez (pablovazquez) We could do that, however the reason I split them, is because you don't always use the swatches. If you have 600 swatches, it takes up a lot of room, so you might want to be able to close away when you aren't using them. Likewise, if you *are* using the swatches, you don't really need the color picker open. So I think it's nice if users can close either of them separately.

As for the name, I think of it as we have a 'palette of swatches'. So they are swatches, but we have different palettes of them. Does that make sense? We could also rename the panel to 'Palette' or 'Palettes' if you prefer - I have no strong opinion.

Could also rename Color panel to Color Picker and call this panel the Color Palette. This way we would have Color Picker and Color Palette next to each other.

  • Fixed Gradient panel appearing in vertex paint mode (not supported here)
  • Fixed missing Gradient panel in Image Editor
  • Fixed wrong poll method for Image Editor sub-panels
  • Changed names for Color and Swatches panels to Color Picker and Color Palette
  • Use correct pixel units for Gradient Spacing

@Pablo Vazquez (pablovazquez):

Just to clarify the earlier point re. separating the color picker and color palettes: We have no limit to how large a color palette can be, so you can easily get something like this:

In fact it really demonstrates how much it's really a critical issue in the current UI, that users cannot close the palette when not in use.

In 2.79, if you had lots of palette swatches, it would push your brush controls out of view :)

Generally seems fine, one thing that I'm not so sure on is having an "Advanced" section.

This makes sense for particles for eg because there are some very obscure settings there, but don't think its needed for brushes.

  • "Accumulate stroke daubs" is called "Airbrush" in other paint programs (gimp for eg), It's not an especially advanced option.
  • "Front Faces Only" - also not sure this belongs in advanced.

Possibly it could be called something other then advanced - since we want options on how the stroke is applied and don't always want them taking up room in the UI. Calling it advanced hints that it's something you probably don't need to touch - which I don't think is the case for accumulate front faces - for eg.


If others are fine with this, I don't think its a blocker though.

@Campbell Barton (campbellbarton) The thinking behind the Advanced panel, is that there are some options that are really more (this sounds pejorative) 'nerdy'.

It's a bit like a car: You have the main controls that you use all the time while driving, and then you have other controls that changes how driving feels/works, like opening up the bonnet of a car and tuning the motor. These things you will most likely not change continuously (even though you can if you want) so it's nice to set these aside I think. It makes the main UI more compact also.

There's a discussion to be had about which items should be in Advanced vs in the main Brush section.

I think we could move Accumulate Stroke Daubs into the main section and rename it to Airbrush.

@Campbell Barton (campbellbarton)

I tried moving it to the main brush section, but that looks a bit weird inside the popover:

The main brush controls aren't shown here because they are already in the top bar, so it looks quite lonely all by itself :)

Also, the Advanced panel then becomes rather short sometimes then:

Overall I think it was nicer in the Advanced section. But we could still rename it to Airbrush. Deal? :)

  • Rename Accumulate Stroke Daubs to Airbrush
  • Make sure it always appears first in the Advanced panel

Fix extra spaces at the end of tooltips.

This revision was not accepted when it landed; it landed in state Needs Review.Mar 19 2019, 6:18 PM
This revision was automatically updated to reflect the committed changes.

Seriously, that are awful changes.

Lock icons were placed next to setting they had impact on. Now the link is not obvious anymore.
OK, now, they are named but they are separated into a closed panel to setting you want to tweak at same moment.
Maybe lock icon was not communicating well their purpose. Maybe an icon task should be open to create a more meaningful one.
But they were used like pressure buttons.

Height or Plane Offset slider was below Sculpt plane orientation. Because it is height of sculpt plane.
That does not make sense to set height of sculpt plane without knowing what is sculpt plane orientation of brush.
First, you set plane perpendicular to Z axis as sculpt plane. Then, you tweak its plane offset.
But how a newbie is supposed to understand that, now ?
OK. User will set sculpt plane once time and adjust more frequently plane offset.

Plane Trim option and Plane Trim distance was not disconnected like that.
And Plane Trim is probably an option less enabled/disabled than Radius Unit, Original Normal or Adjust Strength for Spacing.

Sliders on one side and checkboxes on the other one. It makes UI prettier but it is simply makes it harder to use.

Airbrush does not make sense for sculpt mode. Accumulate was very meaningful in that mode. And it had advantage to not be confused with Airbrush Stroke method.

Seriously, that are awful changes.

I agree with you 100%.
I can't believe what I'm seeing.

Agree with @ronan ducluzeau (zeauro) here. Is there any way to have paint brushes and sculpt brushes (and their settings) separated? These changes work pretty well for paint brushes but makes the sculpt brushes way harder to use and understand.

I agree with you guys, those changes makes no sense. What's the point of making things harder and counter-intuitive? I don't understand.

Please revert.

@Campbell Barton (campbellbarton) @William Reynish (billreynish) Can I ask why such important feature ("lock brush" ) was removed from the brushes in sculpt mode?

Here's before:

After:

This setting is important as the sculpt mode itself.
What's the reason behind it? I'm really curious.

In an effort to make Blender easier to use and understand, these items were moved into the options sub panel. This makes it possible to clarify what these items are for, all while not cluttering the top level UI.

You could have *all* brush options as little icon toggles connected to the main sliders, but that makes the sliders harder du use and the toggles harder to understand.

The old locks icons had nothing to do with locking. We try and make better use of icons and symbols so that they have a consistent meaning.

One of the locks was an option to compensate for spacing. I think we should move this into the Stroke panel under the spacing control, because really it is related to that.

The other lock was a switch between using view (px) or scene (m) brush units. A lock icon in no way communicates this.

Some users prefer setting their brush sizes relative to either the scene scale or the view, but it’s not, in my estimation, one of the primary controls. And by making it into an enum, we can clarify what each option does.

One of the locks was an option to compensate for spacing. I think we should move this into the Stroke panel under the spacing control, because really it is related to that.

No. You named it correctly according to tooltip : Adjust Strength for Spacing. It has an impact on Strength in order to smooth, to minimize artefacts at spacing transitions.
That is a space attenuation in space dimension of the relief. Spacing of stroke is not altered.
When this option is turned OFF, transitions between dots are a little bit more visible. But created stroke has a relief a lot more important.

So, a user is turning OFF the option to build up a volume by successive strokes. At that moment, he does not care about small artefacts because he will smooth the result and do detailing after.
When he is happy with mass distribution and goes into details, he turns option ON to obtain a precised, clear stroke.

So, its main impact is on Strength. It should be next to Strength slider.

The other lock was a switch between using view (px) or scene (m) brush units. A lock icon in no way communicates this.
Some users prefer setting their brush sizes relative to either the scene scale or the view, but it’s not, in my estimation, one of the primary controls.

I agree that is not ideal way to communicate that. User may think that radius size is locked to view or to scene units.
But that is not a brush preference. When user creates a brush set with textures, custom curve,etc.., he usually don't modify every option at different steps of workflow.
But, here, we are talking about a size of brush that is changing or not according to focus on the object.

Same example as before, user is building up the volume, he is rotating fast around this object, zooming out/zooming in to add more or less volume.
Then, he wants to create a detail that should have a coherent size along object although he is rotating around and zooming out/ zooming in. He had to go with scene units.
Nobody can say that is something special to specific brush. That setting is affecting the radius. No setting is more common to all brushes than radius.

That is not rare for people who don't like to work with one hundred of brush and prefer tweaking settings instead.
That is probably part of most of workflows.

Regnas (Regnas) added a comment.EditedMar 22 2019, 7:24 PM

@William Reynish (billreynish) But those controls I showed they need to be next to the slider because they are related and they are used very very often.
The most used between those two is probably the one you're calling "radius unit". In zbrush this is called "dynamic brush size" (which sounds more clear btw), but even in zbrush, that toggle is built-in in the slider itself, because they are related and used very often, not to mention that it's far more easy and quicker to reach.


Putting them in the options pane totally breaks the workflow, not to mention the discoverability.
I would consider moving those back, or at least just the "radius unit" toggle. It's super important to have quick access to it.

Can you put that toggle next to the slider in the context menu also? That would be very handy too.

I don't see where the equivalent to the lock icon for the Radius is in the options panel. This lock was essential to those of us who used DynTopo in Constant Detail (I live there) so that zooming in on the mesh "locks" your brush to the zoomed geometry (i.e. you don't have to counter-resize your brush to compensate for zooming). I see a Radius Unit property now in the Options panel. But that appears to affect much more when I switch it to View. It does seem to tie the brush size to the zoom, but it completely messes with the DynTopo resolution settings (at least in constant detail). And in fact, I simply can't get sculpting to work as expected at all. This is basically unusable now. I do agree that we need a better interface than the lock symbol or at least we need a good tooltip to describe what it does. I don't even mind it being in the options panel since I always leave it on. But it doesn't do what it used to do. Falling back to Z-brush until this is fixed.

No options were removed, just renamed to become more self-explanatory.

Size lock -> Size Unit, which is really what it is:

Strength lock -> Adjust Strength for Spacing, which is a more accurate explanation of the feature (has nothing to do with locking).


Could also be called 'Compensate Strength for Spacing', for example.

We could add back the Size Unit as a toggle next to the slider, but if we do, we should not use the lock icon. This option has nothing to do with locking - it's just two different ways to set the radius (Scene vs View).

We could use the Scene icon and some icon which communicates 'view'

If anyone has any suggestions for which icons to use, it could be useful.

If added back, the slider does start to become very cramped, which is also a concern.