2022-12-15 Sculpt/Texture/Paint Module Meeting

Practical Info

This is a weekly video chat meeting for planning and discussion of development related to the sculpting and painting in Blender. Any contributor (developer, UI/UX designer, writer, …) working on these features in Blender is welcome to join and add proposed items to the agenda.
Write us a message in the module chat if you’re interested.

For users and other interested parties, we ask to read the meeting notes instead so that the meeting can remain focused.

Attendees

  • Joe Eagar
  • Julien Kaspar
  • Ramil Roosileht
  • Daniel Bystedt

Agenda

High Priority Bugs

  • :anchor: T102991 Regression: Sculpt: Fast Navigate does not work
    Joe mentioned it could use different resolutions rather than the base. This would make it more useful visually.
    But we should investigate the performance impact of this setting before improving it further

  • Joe found 2 more bugs for dyntopo. Might be in 3.4. Joe fixed them but they need to be backported.

In Review

Current Topics

  • :anchor: T98070 Improved Rake functionality
    Dyntopo refactor took some time recently. Joe will pivot back to roll mapping feature for now.

  • :anchor: T101593 Auto-Masking Popover for the Header
    Various related tasks like T102971, T102585, T102437 & T102377.

    On T102971:
    Brush properties refactor unified behavior works differently than this.
    The question is if it’s a valid use case that brush settings can force the auto-masking to be disabled.
    We should look into that.

    Recent feedback to limit the cavity masking default to half of the range to specifically target creases or peaks. This seems more useful.
    We could change the curve by default. An extra slider to clip the curve is an option but undesirable by artists.

    Halved range is better but having “custom curve” enabled by default maybe not ideal.
    It would at least make it clear that the range is halved by default but it does take more screen-space
    and naming it “Custom” seems also wrong if it is enabled by default.

  • :anchor: T97352 3D texturing: Fix seam bleeding
    Jeroen will spend time on finishing this task and boundary bleeding next.

Upcoming To Do’s

Joe:

  • Finish patch for the Roll brush
  • Wrapping up Auto-Masking tasks
  • Afterwards, fully focus on Dyntopo refactor

Julien:

  • Mask Icon Discussion
  • Manual Introduction Pages

Daniel:

  • Working with Julien to collect design thoughts for Layered Sculpting

Ramil:

  • Will pick up bug reports to fix
  • Will also communicate with Modeling Module about UV feature he wants to work on

Other Topics

How to communicate breaking changes in a new release?

We’ll soon make changes to the keymap, and there are always new releases with updated defaults.
Do we highlight this more prominently in the release notes?
Or does it make sense to add another page for breaking/important changes?
This could then generally include API, UI, tool defaults and shortcut changes that users should be aware about.
Ideally this would happen directly in Blender in some way but that seems intrusive and unlikely to be added.

This should be discussed more with the UI module or Pablo Vazquez.

Trim Tools & Project Tools

The current Trim and Project tools are not performant or useful enough.
But doing proper changes would need heavy reworking of the tools.

A better way of approaching the trim tools is to integrate them with the voxel remesher.
This would need to be less precise than exact boolean operations and could vastly increase performance.

Project tools could fair geometry instead of just snapping them . Assigning them a face set like the trim tools is also a good addition.

But we should prioritize this at some point fully to also add the full set of tools that is missing.

Community devs involvement

We need to make the module more open and inviting for devs to help out with small tasks.
At some point it’s worth going over the workboard to add more tasks as “Good first issues”.

Joe also points out that the incremental C++ refactor will contain a lot of low effort tasks that we could add there.
A bigger refactoring project for the sculpt and painting code would also in general help to reduce the complexity and learning curve for working in the module.

13 Likes

Layered Sculpting is highly needed :+1:

Maybe this would be a good idea also to think about storing multires deformations in shape keys. I guess both (HD Shape Keys and Layered Sculpting) are technologically related. In both cases, subdivision information has to be stored somewhere and can be toggled.

I guess best would be if you can select Sculptlayers and then save the selected sculpt layers in a shapekey, including the subdivision information. And a such a HD Shape Key could be of course exported back to a Sculpt Layer.

This would allow us finally to use stuff like “HD” expressions via shape-keys :heart_eyes:

1 Like

https://twitter.com/jfranmatheu/status/1603770783779676160?s=20&t=WwXuxa4LTmJ-uLOtksOOLg theres devs that want to do it but the module doesnt seem fast or open enough to do new patches for sadly, i wish they also worked in master, but there is still ways to go if this module wants more people working on it