Paint Mode: Design Discussion & Feedback

really like the idea of ““selection”” instead of masking, its anoying to mask the area that i want to work and then need to invert the mask, the concept of masking its good there are times that an “inverted selection” its good but most of the time im sculpting i end up using the invert mask to work the area i have masked.

2 Likes

Absolutely. For sculpting many people use the mask/invert workflow at times.

On the other hand, it’s probably not exclusively that workflow though - I payed more attention to how I was working throughout the day and found myself masking out fingers, eye areas, lips and parts I wanted to keep untouched instead of masking out the whole body/head except those parts. In other instances I masked out an arm/leg and inverted the mask. It very much depends on the situation.

We need to keep in mind though that masks are something entirely different for texture artists. Depending on peoples workflow and personal preferences they might fully mask out a layer/mask and paint in the values or create an empty mask and paint masks wherever needed.

Since masks are such a widely used concept throughout both 2D and 3D applications I’d argue that their behavior is best left consistent.

Not saying there can’t be other tools to do the exact opposite, but I probably wouldn’t call them something that’s commonly doing something else. Like having a select tool that deselects cause of reasons.

As for pixel sets/ID masks and face sets - My vote would be for just keeping face sets for now until the definite need for something pixel based arises. I think hiding pre-defined parts of the geometry on a subobject level should be sufficient for most people. Unless I got it wrong (pixel sets essentially being face sets stored as grayscale masks)

5 Likes

I’m slow and I need my time, but the more I read the proposal the more I like it.

I like the idea of synchronizing the selection even if it’s lost when going into Edit Mode, and swapping the mask for selections. Anyone who wants to keep the current workflow should be able to do it, but a priori it seems more consistent, even if it’s not standard.

It is true that in sculpture it is common to invert the mask, and in 2D painting programs it is common to select the area where you want to do the intervention, so for me it makes perfect sense to invert the process.

Congratulations.

Just my two cents … sorry if it’s redundant.
Paint should not be a mode, it should be an option in sculpt.
Paint option should not be rgb but bsrdf/displacement with a nodegraph based brush.
I hope It make sense to you.

I’m all for the node based graph brush thing.

I like bringing things under one roof as well, but wouldn’t that make things too crowded? In many cases, like most production scenarios, it’s 2 different workflows after all. I’d imagine a fusion of Mari and Zbrush would be a nightmare to use for either texture or sculpting artists right out of the box. They would end modifying it to their own needs essentially creating 2 modes.

Not sure, just how I’d imagine it happening.

  1. I like the idea of facesets outlining, esp. if outline will appear only around active/working faceset, where you draw now.

  2. inverted mask is specific way. Yes, it is common pipeline to use unmasked. But it should be optional, perhaps for brush, as condition: If nothing masked, mask all and allow to unmask. If something masked, it is better to keep it.

  3. I just leave existing suggestion about keeping alpha and color separately.

  4. Blender lacks of compact and handy brushsets/toolsets without blowing toolshelf. So I would prefer customizable brush-set instead of current toolshelf. And easy access to switch it to another brushset or old toolshelf. Or brushset pop-up around mouse pointer.

  5. Of course masks for pixel painting should use pixels, nothing else! And they should be available as b/w layers.

  6. Mask overlay — yes, please. Face mask in old vertex paint is already nice.

1 Like

“it’s 2 different workflows after all”
Because the good option doesn’t exist
If I design a material/brush I want to paint all channels at the same time.
exemples :
Veins, pores, scratches, bullet impacts, face warpaint, rust and so on. Each time it’s diff,spec, rougness, normal/displace.
And I’m not speaking or descirbing something that could be replaced by just material blending

Hi.
I’m curious if this project will then make it possible to implement an easy-to-configure environment for painting directly with Blender materials in real time (Like ArmorPaint for example, not to mention proprietary software).
Since we have a powerful real time engine like Eevee, that feature would be great.

1 Like

I’m not arguing against painting all or certain selected channels at once, far from it. I’m all for that, as well as node based anything, physics brushes and whatnot.

I simply question if it makes sense in terms of UI/UX to have every texturing tool and every sculpting tool in the same mode. I’d argue it would make things super crowded and would appeal to no one by trying to appeal to everyone.

This brush node graph could have an input node “stroke” with output like start, end, pressure, random, position and so on.
Basic Brushes could be presets, like geonode trees
And those trees can have “outside” parameters displayed in the N panel instead of modifier
In ZBrush RGBAZ are just checkboxes/textureSlots/Sliders
UI is important but not the big deal imho.
The goal is the big deal in the long run

I’m all for tech and new concepts but unless proven otherwise I have to go with facts on this one.

You can probably do all that and more in Houdini, fact is that the majority of artists still prefer a nice specialized package to get stuff done.

Until there’s a proof of concept it’s pretty hard to tell what people would prefer and if it’d pay off to invest all the time and money. I’m sure there’s a reason people prefer Zbrush for concepting and maybe coloring meshes, while they very much prefer Substance or Mari for anything pixel based when it comes to texturing.

1 Like

Masking based on a texture (Stencil Mask

Can we get UV mapped image based masking in sculpt mode? Zbrush has had this since probably 2003 or earlier.

1 Like

Please do not forget the text tools

2 Likes

Long ago there was much debate among my photoshop 4 - 7 using friends about its “quick mask”. It turns out only 2 very vocal people in the group used it as-is. Everyone else would go into quick mask, paint over what they wanted to edit, exit quick mask which gives a selection of everything they don’t want to edit, cmd+shift+i to invert the selection.

So as a photoshop user this makes sense to me. But in a sculpting mode there is something intuitive about “marking”/“darkening” the area you care about that I think is more user friendly that lightening it.

I think many photoshop users would agree that they wished quick mask mode would turn the painted area into the selected area instead of having to perform that inversion step. Perhaps Blender can just have an option where after painting a mask it auto-inverts the mask for the convenience of those people who are too lazy to press A and nudge their cursor to the left.

@kevindeguisne
A “node based graph brush” is outside of the scope of this project.
@YAFU
Painting multiple textures/layers at the same time is also not part of this project but the Layered Texture Design.

@Vyach
It would be great to only show the face set contours of the face set under the brush cursor. We’ll have to see if that works performance wise though.

A reworked UI for brushes would be a different project. This should be tackled with brush management.

  1. Of course masks for pixel painting should use pixels, nothing else! And they should be available as b/w layers.

Can you elaborate on this. What b/w layers?

@thinsoldier

Can we get UV mapped image based masking in sculpt mode?

Yes, That’s the idea behind pixel masks.

Also yes, the inversion of the masking behaviour should feel more intuitive overall. Customising the mask overlay to be a different color than black is also optional. In sculpt mode it should definitely stay black as it is.

1 Like

I love the future with these implemented!
Quick question though:
What would happen if I create a texture node, paint (a Mona Lisa) on its canvas then attempt to delete or even just cut the node to the clipboard?
I’m much less careful with nodes than with unsaved, open image documents so this seems like a potential issue to me.

Thinking of alternatives, I think that in Paint or Sculpt Mode, while the selection tools are active (old masks) the selected areas could be colored the same color as in Edit Mode, but with a color gradient, while when using painting tools or sculpture, a contour could delimit the selected areas by approximation, in the same way that Facesets are proposed.
S can be a good key to activate the selection tool (currently scale) or temporarily overlay the selection when hold.

5 Likes

I think this is a good idea when it comes to Dynamic overlays for the mask overlay. That while you use any masking tools, it will show the mask/selection as it actually is, but while sculpting/painting it will show a subtle contour/dashed line.

Another one suggestion.
As far as we can paint to attribute, it will be great to have special mode for painting non-color attributes.
Like weights (heatmap)
Vectors: normalized, remapped to 0—1 visually and with ability to set negative values to brush «color»
Channel painting, lock separately R,G,B,A — really helpful, when you make shadermasks. At this moment I have brush for each channel and separate Add and Subtract, because Add brush do not subtract with Ctrl… And as far as Blender sorts brushes by name, they named like this.
изображение

In my opinion modes should be task / workflow related, so if you want to paint, you should have some relevant (paint) mode available. Entering Sculpt Mode to do painting related tasks makes no sense.

I have different suggestion though - I know it is probably too late, but I would still suggest to re-consider that complete dropping of “Vertex Color” term and replacing it by “Color Attributes”.
Vertex Color is the industry standard term used in every 3D tool, in all the tutorials, game engines, various articles all over internet … and even though I understand that they are technically attributes in Blender, I am afraid that mainly beginners will be confused they can’t find such basic thing anymore.

If the naming can’t be reverted somehow, then I suggest to at least change the defaults when creating a new vcols layer, as regular users will never have idea what to choose there: that’s why I think the defaults should be Domain: Face Corner, Data Type: Byte Color, Fill Color: White to get the same result as creating vcols layer in Blender < 3.2.

Another option would be to create the layer using these defaults without any dialog, and if anybody needs to change it, he can always convert it to appropriate format afterwards. Then the behavior would be as simple as in previous versions, but without confusing beginners by those technical terms, and also without loosing any new functionality for advanced users.

6 Likes