Page MenuHome

Impossible to weight paint certain vertices
Confirmed, NormalPublicBUG


System Information
Operating system: Windows-10-10.0.19041-SP0 64 Bits
Graphics card: NVIDIA GeForce GTX 1080 with Max-Q Design/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 466.47

Blender Version
Broken: version: 3.0.0 Alpha, branch: master, commit date: 2021-05-24 18:46, hash: rB0606a37e1a8c
Broken rBa7ac8a22f8eb
Worked rBc8df6f2cf9df (huh!)
Broken rB9a85592ddea2
Broken rB382e7ce9ecfb
Broken 2.81 release
Broken 2.80 release

Short description of error
Too often when weight painting it's impossible to paint over certain vertices.

Exact steps for others to reproduce the error

Try to paint over the middle vertex (0 weight)

Event Timeline

Pratik Borhade (PratikPB2123) changed the task status from Needs Triage to Confirmed.May 29 2021, 1:04 PM

Can reproduce the issue. version 3.0.0 alpha, Hash: rB43153e23245 , commit date: 2021-05-24.

It is really hard to paint when distance between vertices is quite more. Confirming the issue for now but I believe the problem is due to present algorithm (not sure though) ?

To me it seems like the combination of the Corrective Smoth and Subdivision Surface modifier makes it so you have to paint on the original position of the vertex, rather than the position after modifier evaluation:

Painting with only one of these modifiers enabled works as expected for me.

About combination of modifiers, I have to add that the problem happens with different combinations and sometimes no modifiers. It's just that's the case I could catch this time.

Could be an issue with BKE_crazyspace_build_sculpt() or with some modifiers which use input mesh for coordinates, or something.

I do see one revision did work. Did anyone bisected which change did break such scenario? This will give some clues about where to look.

Julien Kaspar (JulienKaspar) changed the subtype of this task from "Report" to "Bug".

I'll just mark this as a bug since the expected behaviour seems pretty clear. There is a bigger design discussion with sculpt mode that touches this issue though: T87034
Maybe there should be an option to choose if the original cage is targeted or the modified mesh.

Afaik weight painting draws with all modifiers, but for actual painting only uses deform modifiers (basically those that don't change mesh topology, e.g. armature). This means for painting subdivision surface doesn't exist. I have no idea why it is so, but I've already ran into that in D14163 (native hiding required because can't be faked with Mask).