Issues
The current implementation of occlusion painting has certain issues:
Falloff capped at 90 degrees
Right now the normal falloff while texture painting is not going beyond 90 degrees and eventually caps at a harsh transition.
A better behaviour would be to have the falloff go past 90 degrees, instead of only inwards to any surface below 90 degrees.
Performance
For performance reasons the occlusion setting is often turned off or a simple "Front Face Only" option is used instead.
The goal should be to make full occlusion auto-masking perform well on high resolution meshes and textures.
Not available with Spherical Falloff
Currently there is only a projection based falloff available for texture painting.
With the new 3D paint brush based on sculpt mode we have the opportunity for a much more intuitive painting behaviour.
The combination of a spherical brush falloff and occlusion auto-masking would be the more intuitive default for occlusion painting.
Goal
The primary goal is to implement a brush that is ideal for projection painting.
For this it is vital to have fast performing and intuitive backface occlusion settings, similar to the ones in the current texture paint mode.
Design
Automasking
The best way to implement this as both a per brush setting and a global toggle is by using auto-masks.
This way we can support these auto-masking modes for both sculpt & paint mode:
- Mask via View Normals
- Additional toggle for Occlusion
- Mask via Area Normals
The second one would be more beneficial for sculpting tools but both would work very similar.
Auto-masks would also support any tool in these modes. Not just brushes.
Falloff & Occlusion
To provide a better feel while painting, we need to provide a full 180 degrees for the normal falloff slider.
Even when masking by view normals and occlusion, it's important to have a smooth falloff that goes a bit beyond 90 degrees to avoid harsh transitions while painting.
Remove Front-Faces Only
With the new auto-masking settings being way more accessible that the old "Front Faces Only" toggle, it should be the only setting necessary for brushes.
Open questions:
- What about modes that don't support auto-masking yet? Weight Paint mode could keep the current front faces only toggle or we could add auto-masking support. Making this accessible via shortcuts could be the main issue.