Paint Mode: Design Discussion & Feedback

I’d rather add a new empty layer that is mixed/alpha-over with the first color.png with higher resolution instead of changing the resolution of color.png. It’s what I’ve seen a lot of concept artist youtubers do in photoshop.

An item in the background needs more details. Select that region. Copy to new file. Double or quadruple resolution. Paint details. Bring back into the original document as a smart object and resize to fit.

3 Likes

Ptex is an open source library made by Disney that allows to define a texel resolution to paint a mesh without creating an image file or UV unwrap the mesh.

It was tested integrated in blender, a decade ago.
https://archive.blender.org/wiki/index.php/User:Nicholasbishop/Ptex/

So, workflow is not exactly like dyntopo. It would be closer to voxel remesher.
It is a kind of “texel remesher”, or rather “retexeler” but only on some faces.

9 Likes

Feedback:

1. Preservation Legacy Vertex Color Operators

If this “Paint Mode” is to replace vertex paint mode, the operators we already have in vertex paint mode should and must still be available if not preserved in the new editor and mode:

  • Set Vertex Colour (fill)
  • Smooth Vertex Colors (all)
  • Dirty Vertex Colours (quick AO or curvature)
  • Color from Weight (important)
  • Invert, Levels, Hue Saturation Value, Bright/Contrast

I noticed the initial brush set do not include these. These are fundamental to existing workflows.

2. Toolshelf

There looks like there will be a lot of brushes in the same mode and toolshelf - making a monster toolshelf with too many brush types to dig through: now with texture paint, vertex paint and sculpt brushes all in the same shelf. Showing them in double column icons won’t be able to show them all without scrolling extensively on most screens. There is little segmentation and labeling to aid on the brush search AND there is no user customizability.

Issues:

  • There is no segmentation of brush types (no titles nor panels) so searching will be difficult
  • There are no tabs to be able to laser focus brush groups nor an ability to pin panels of brush groups for a custom toolshelf
  • There is no triple nor quadruple column to allow to see all the brushes in shorter editor heights.

Proposed Solution:
we have been working with a functional prototype that has tabs in the toolshelf (similar to 2.79) with traditional act-once operators with similar responsive buttons that work like the new shelf.

  • We added panels per brush groups/dynamic brush types (still a prototype)
  • We added responsive buttons to act-once operators (like “fill” once, instead of a fill mode)
  • We also added tabs which allows pinning these panels for user customization
  • We also have 3 columns of icons added instead of only 1, 2 and rows.
  • The tabs and panels are optional, can be turned off completely.

This allows to have groups of customizable brush panels, segments the brush types and allows to show/hide brushes and groups of brushes when needed. Can be a user toggle to show or hide tabs. We have many users using it happily, has proven that it works.

Thanks for opening the thread and ears to feedback.

7 Likes

I always found the idea behind PTex very compelling. Can’t Ptex be leveraged as translator for Vertex colour? Like paint the model in the texel density you like and then bake the colours down to either a vertex colour or to textures? Being able to paint in high resolution without having to change vertex count and or UV-unwrap definitely could be a huge workflow improvement. You can always unwrap after the creative process is done and then bake the Ptex to textures when the model is done, right?

Good that you mention this. Thanks.
All the other operations were planned to be included.

Toolbar restructuring would be part of the brush managment project.
But luckily the paint mode toolbar won’t end up bigger than for example edit mode.

4 Likes

Thank you for the information, Ronan.
This is quite similar to what I was thinking of.
I didn’t checked the link to NicholasBishop now, but I assume the integration worked?
I will soon find out.
Have a nice one.

Will brush management get a separate Pre-Discussion like this one? :slight_smile:

1 Like

Ideally yes. It’s best to make the design creation process as open as possible.

4 Likes

You scale the UV island, if it runs out of safe bounds¹ you move it to a new UDIM. This is already a solved technical problem.

edit: note that outside of disney/pixar, ptex never really took off. Where as almost everything these days supports UDIMs, including blender.

¹ By that I mean a boundary of the UV island accounting for both the UDIM grid sector bounds as well as any potential overlap with other islands.

A quick remark for the new seam blending approach - not sure what test meshes are included in testing the approach, but I was involved in a bunch of productions lately where photogrammetry or lidar assets were used with sub par uv layout (that’s being generous). Meaning millions of polygons and also hundreds of thousands of UV shells (angle based auto UVs for meshes full of artifacts resulting in heaps if single face uvs).

Long story short, it’d be great to try it out on cases like these as well, can be any kind of quick and cheap photogrammetry model created with a smartphone in a parking lot. Just to make sure the approach works fine with extremes.

4 Likes

Well. Integration was about having Cycles rendering Ptex Layers like it does with vertex colors.
But the part to bake Ptex layers as a regular image texture for an asset exported to another software was never done.

As @megalomaniak said, UDIM was more largely adopted and better for interoperability.
UDIM allows you to attach a different image with a different resolution per UV Islands.
So technically, it is already possible to modify resolution of texture for a part of mesh.

Maybe, there is room to invent a more fluent workflow about UDIM tiles creation during painting process.
Maybe, there is a way to automate a conversion of an image texture into UDIM tiles with a similar workflow to what was presented, here.
It would be great if user could select some faces, define wanted resolution for those ones and Blender would automatically generate an appropriate UV unwrapping handling UDIM tiles that would correspond to pattern of previous original image.

In sculpt-dev branch, paint brushes are handling dyntopo.
It is already possible to add vertices to mesh just to paint vertex colors.
The counterpart is that original mesh is destroyed.
Baking would be necessary to transfer the result to textures of a low poly model, more suitable for animation.

@Draise, about point 1.
Some of Vertex Colors Operators have already an equivalent in sculpt mode experiments.
In sculpt mode, there are 10 color filters : Fill, Smooth, Contrast, Brightness, Value, Saturation, Hue, Red, Green, Blue.
There is ability to create an attribute from a vertex group, to convert an attribute into a color attribute and then to use Mask by color or a color filter. That is too many steps. Something simpler is needed.
But ability is already there.
In sculpt-dev branch, Joe created a cavity auto-masking.

About point 2, proposal is to create another mode dedicated to painting. So, toolshelf should not contain sculpting tools in Paint mode.
But you are right. Toolshelf should allow to display preferred color filters and preferred custom brushes.
Not just last used brush or filter of a category.

2 Likes

+1 on having the facility to import .abr’s – and especially, to use all aspects of the brush. Painter allows .abr’s, but currently ignores brush texture, which is bizarre.

Will there be preset brushes? (similarly to the variation of Substance. Hard, soft, textured, etc.)
Having these presets available (perhaps in the asset browser) would be extremely helpful and time-saving

If so, will these brushes be exportable and saveable, and most important, Shareable?

13 Likes

Is there any possible chance on Earth the Blender Foundation could merge code with open source paint program Krita?! There’s no point reinventing the wheel after all!

This would give Blender superb natural paint media and give 3D integration for Krita, its win-win.

2 Likes

Simply a visual alternative to the previous idea exposed

I think the chances for that are pretty much zero. The way Krita works is completely different from the way blender works and vice versa.

Krita could be a source of inspiration, and maybe even a way to learn some techniques. But actually merging those two programs would be highly impractical and a huge undertaking.

At least, that is what my general experience in the programming field tells me :wink:

2 Likes

Krita did integrate the MyPaint brush engine so why not ? a brush engine is pretty self-contained afaik, and the gain from being able to import Krita brushes (some of which are nothing short of amazing) seems substantial

7 Likes

Does krita’s brush engine already have the ability to paint on 3d objects?

Well, maybe some parts could be used indeed. Though I suspect porting a brush engine from one painting program to another is probably easier than porting it to a projection-painting engine. But fully merging the two programs seem rather over the top :smiley:

3 Likes

Its open source and modern modular programming, pick through it and see. The brushes in Krita are amazing and very popular, so the ability to co-lab with a popular art program brings way more people into the scene.

Adobe is dying, lets open the door! XD