Attendees:
- Jeroen Bakker
- Brecht van Lommel
- Joe Eagar
- Julien Kaspar
Agenda
- Comparing 3D Paint brush with Sculpt Brushes
- What features from Sculpt Mode are important?
- Which Texture Paint Mode features are important?
- Masking in Paint Mode
- What is the most common workflow and use cases for masking?
- Which features are important for paint mode (Mask brush, face sets, auto masking, selection masking, id-texture, …)
- Does visualizing masks as contours become necessary now?
- Performance
- Would be nice to avoid rebuilding the PBVH on:
- Mode change (including sculpt->object and object->sculpt).
- Memfile undo? It’s use is pretty restricted in sculpt mode; e.g. adding modifiers.
- Would be nice to avoid rebuilding the PBVH on:
Notes
-
3D Paint Brush prototype
- All texture types and UDIMs are now supported
- Auto masking supported but not yet ideal
- Automasking is cached on vertex level, then converted to polygons, then convert to pixels
- Different data structure could work better
- Finalise the design soon based on prototyope
- PBVH splitting for better performance is still unclear
- More open questions and bugs
- Make a final design-proposal ready
- Then make a patch to continue
- Rewrite code, make it ready for review
- Write table of brush setting differences between sculpt, vertex paint, texture paint brush
- Which will be used for the new paint brush
- We will mostly base it on sculpt-vertex paint brush
- Texture Mask from Texture Paint Mode is also important
- Create a UI/UX-workflow design for picking the target data (texture, color-attribute, material, etc)
- Maybe Pablo V. has time to help out
-
Should we keep naming of “Masking” and “Hiding”?
- There was the suggestion to use “Freezing” and “Masking” instead
- Came to conclusion to remove any inconsistencies within Blender (Example: Mask Modifier)
- Masking should always mean that something is inaccessible from being edited
- Hiding means it’s also not visible anymore
- Freezing is not a term that Blender uses
-
Masking in Paint Mode
- Is temporary masking on textures like in sculpt mode essential?
- It will definitely be useful for quick and intuitive masking (Just like automasking is)
- Face Sets might not be an ideal masking method for texture painting, since jagged low res edges are hard to manage
- Same issue with vertex based masking
- Pixel based masking & id maps would be more powerful but need more time to be designed and developed (long term)
- Use of face sets would be good enough for now
- Automasking should be supported from the start
- Painting b/w textures and using them as masks in the material/layers would be good enough for the initial workflow
- ID maps could be refered to as Pixel Sets, similar to Face Sets
- “Masking” and “Pixel Sets” should share same UV map and resolution
- Avoids artifices and performance problems
- Masks and pixel sets could be part of the layered texture node
- Needs some bool value to define if it will be recognised as such → Used for operators and overlays
- Can they then work outside of layered texture nodes?
- Make it part of layered stack unless there’s good reasons not to
- Keep it simple that way
- Needs further UI/UX design
- Should it be defined in the layered texture node or maybe even the material output?
- Is temporary masking on textures like in sculpt mode essential?
-
Is it possible to store PBVH in cache to avoid long loading times when switching modes (not just sculpt but also paint mode)
- This is potentially too much data with the amount of UDIMs and resolution and vertex count
- We should stress test loading times with lots of UDIMs and resolution. Get a production file to test on.
- Could we cache this data in memory?
- Some data when using UDIMs can be stored on disk instead
- But this would result in hiccups when painting across UDIMs though …
- Rasterizing all triangles and UDIMs needs to happen in advance
- Some data when using UDIMs can be stored on disk instead
- Such performance improvements for big production examples can be optimised after the initial features are working well
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.
For users and other interested parties, we ask to read the meeting notes instead so that the meeting can remain focused.
- Upcoming Agenda
- Google Meet
- Time: Wednesday 6pm CET
- Next Meeting: March 23, 2022