2025-05-13 Sculpt, Paint, & Texture Module Meeting

Check the overview thread for more information about the meeting.

Present

  • Sean Kim
  • Hans Goudey
  • Julien Kaspar

Announcements

N/A

Since the Last Meeting

  • Sean

Commits

For a full set of changes, see the main tracker. The above is a curated list of fixes and changes for the module.

Meeting Topics

  • Sculpt: Add Geometry Nodes “texture” evaluation to brushes
    • Do we want to land this in 4.5? Should we wait for this to be more “feature complete” or is this valuable in its current state?
    • Conclusion: Agreement that we want to wait until 5.0 for this to add a few more features.
  • Migrate unified paint flag from scene / mode level to brush level
    • Forward looking question (5.0) - this seems like something we generally want, but is moving it to the brush level sufficient or do we need some kind of hierarchy system for settings?
    • Conclusion: General agreement that it’s fine to start with this approach for now in 5.0. Would need further feedback before we decide to make this more complex.
  • Expose Dyntopo scene-level settings as brush settings
    • Discussion about usefulness of this feature with the current settings.
    • Julien brought up the point that the main benefits he saw for brush-level settings were other settings introduced in the old Dyntopo Refactor
    • Sean brought up that the unified paint settings listed above and a confusing UI means that this won’t be possible for 4.5.
    • Minor discussion about potential workflows that this would enable (e.g. custom brushes with individual detail sizes or choosing to only subdivide / collapse), but module did not have strong concrete examples to justify trying to rush this.
    • Conclusion: Deprioritized for now. Looking for specific workflow feedback from the community here to help inform priority.
  • Sculpting brushes shortcuts in Blender 4.3
    • Looking for context here, is the missing feature the “toggle” functionality that the old operator has? (e.g. Pressing M in 4.2 switches to the mask brush, pressing it again switches it back to the prior brush)
    • Julien brings up the cycling feature that used to exist, but no default brushes had it enabled. It was more of a power user feature
    • Hans brings up a number of ideas of how this could be implemented
    • Sean brought up idea of cycling based on asset tags, but adding extra functional meaning to these strongly conflicts with current design
    • Proposal discussed of making the cycling feature a list of asset references in the keymap editor
    • Conclusion: Change seems straight forward enough to make and it seems like a good feature to bring back for 4.5 LTS. Sean will work on this.
  • WIP: Assets: Support editing/overriding essentials assets
    • This topic came up as we were discussing the general point of last minute 4.5 targets.
    • Julien brings up that this feels important to try and get in the release.
    • Conclusion: To sync with Julian to understand current state.
  • 3D Texture Paint
    • What is the MVP for getting this out of experimental?
    • Julien has mentioned in the past that we should wait for more brushes to be done than just the standard Paint brush before moving this out of experimental.
    • Sean brings up that it feels more beneficial for users to have at least a workable single brush in Sculpt mode that works on textures in an official release given how painful the current Texture Paint mode is.
    • Hans and Sean agree that with a single brush out of experimental, it becomes easier to prioritize small incremental improvements on a per release & it becomes easier to attract new contributors instead of having this mountain of work that still needs to be done.
    • However, Julien is worried that a few releases from now we may still be in a half complete state.
    • Conclusion: Sean to draft email to Dalai to get further product feedback on this. No strong agreement currently on the path forward, but will continue discussing further.

Need Help

  • Community feedback wanted on the Dyntopo brush settings workflow question listed above.
4 Likes

The other settings of old Dyntopo Refactor (spacing, scale radius) were related to Detail Size/Resolution/Percentage value.
The goal of spacing was to gain performance, to skip computations, according to size of generated triangles.
The goal of Scale Radius was to define a margin going beyond brush radius to generate some triangles beyond brush radius to always obtain a clean stroke.
Of course, that is related to size of generated triangles.
So, there was no point to have those settings per brush, if Detail Size/Resolution/Percentage was not different per brush.

So, the main benefit has always been to set size of generated triangles per brush.

That is not mandatory to bring ability to unify settings.
We have 4 methods. Relative/Constant/Manual/Brush.
We could keep Dyntopo as it is, for Relative/Constant/Manual, and consider that If user choose for Brush method, Detail Percentage should be per brush and is never unified. If wanted, there is a kind of unification of size of generated triangles possible, passing through Brush Radius unification, anyways.

So, no UI change, except that if user enables Brush Method, Detail Percentage slider is moved from Scene Settings popover to Brush Settings, above or below Topology Rake slider.

If you want to minimise the work to the minimum, we can renounce to benefit of changing method per brush.

Dyntopo scene settings are not numerous. Popover is made of 3 rows.

I think I made it clear, that priority of priorities is being able to set size of triangles per brush.
Then, the ability to set the refinement method (Subdivide or Collapse or Both or None) per brush.
If you want to bring back old Dyntopo Refactor settings, Scale Dyntopo Radius and Clean up ( Stroke Cleaning settings) have probably to be prioritized over settings about performance ( Spacing/Repeat/Quality).
Then, ability to set detail method (Relative or Constant or Brush Radius) per brush.

Manual method is a way to mimic Voxel Remesher workflow.
The other ones are the main ones, specific to Dyntopo workflow.
Basically each one is making size of generated triangles dependant of what is already expressed as a brush setting.
Relative method can be considered as View Unit. Constant method as Scene Unit. Brush method as Radius.
So, basically, it could be possible to define other Dyntopo methods using nodes relative to other brush settings.
We could imagine a variable size of generated triangles, according to Strength, to Spacing, to Fall Off …
So, bringing Detail Method to brush settings, is the closest benefit for user to what brush nodes would brought as benefits to Dyntopo.
It implies to make a complicated UI change, that will not last.
So, probably, for this purpose, it is more valuable to focus on Brush Nodes development.

But detail percentage as brush setting is something, that we should have had since the beginning of Dyntopo feature introduction. It means the right size of generated triangles for expected brush stroke effect. It means Draw/Clay brushes to create basic shape with low resolution.
It means detailing brushes with high resolution.
It means textured brushes with topology resolution corresponding to texture resolution.
And Refinement Method means expected impact on topology. It means Crease brushes that are only subdividing without collapsing. It means Polish brushes that are only collapsing. It means user decides of brushes without any Dyntopo effect.
So, benefits of those two settings, per brush, are very basic needs.

And after refactor of brush asset management, user can have its Dyntopo brushes well-organized in a specific catalog. It would make sense let him pick a brush and directly obtain expected brush stroke effect. Instead of picking a brush, modifyiing dyntopo settings according to its specificities, using the brush, picking another one, modifying dyntopo scene settings, again.

1 Like