Texture painting: is there a way to make the brush falloff consider 3D-space

I have this problem that when I paint an extremity on a character and other body parts happen to line up behind it, the brush paints right past the space between the faces.

brush falloff2

Now I know, a simple face mask would solve the problem of painting unwanted areas, but the problem is that Blender also needs a lot of resources to calculate the distance between the faces, which takes multiple seconds, between every brush stroke. and it does that BEFORE it checks whether the faces are even selected for painting! The further away a face, the longer it takes. I don’t know why this is happening though, as I never dealt

with that problem before… It makes the job unbearably tedious.

Is there a way to tell Blender that I only want to paint what is in close 3D-proximity to where the cursor is clicking? Just like in weightpainting, where spherical and projected falloff can either affect everything that’s in line of sight of the brush, or just what’s close.
Thank you!

You can AFAIK select the wanted faces in edit mode (also tab in texture paint workspace) and switch on Paint Mask directly in Texturepaint mode (left from view) and even select them directly in paint mode with box or circle select .

that is true, but please reread the paragraph under the image. the paint is not the problem - - it’s the time blender takes to calculate the distance between the cursor and a distant face, which is always does, no matter if the face is selected or not

You mentioned face mask and meant what i showed you?? Then maybe your model is by far to high poly for you computer setup (it could get into million of polygons and pixels) you may try to paint the basic features with a lower supdiv and detail paint in an paint programm? Or splitting you modell temporally and joining later.

well the problem only occurs when there’s a lot of “distance” between the cursor and the face its trying to paint on… as in the gif, zooming in on a finger and painting that is no big deal, but as soon as the brush hits a face on the chest behind it, even with face masking on, the whole thing comes to a screeching halt.

it’s true, I have a heavy multires modifier on the character, which I can reduce for many cases, unless I paint details that I sculpted into a high multires level. and yet, it is an issue that this problem occurs while face masking is on! after all, these calculations could be avoided to give way to better performance, right? to check if the face is included in the face mask at all, before Blender starts doing the distance calculations.

The best thing would be if the brush would only paint what’s nearby anyways. I can’t really think of a situation where I’d want to paint two distant spots on a mesh, like the fingers and chest, at the same time. it only leaves me with a finger-shaped stain on the latter.
Weight painting has this feature where the paint brush only affects what’s nearby, under falloff sphere/projected.
But as far as I can see, texture paint doesn’t.

Not exactly the solution you want, but have you explored vertex painting? Especially for blurring, shadows, highlights, it’s great for that. I thiiiiink the system is more efficient and less prone to cpu hickups and unecessary calculations.