2
$\begingroup$

I'm experiencing difficulties with vertex paint mode. I got a really huge object (huge in display-size and in vertex-amount) and thus need to zoom out very much to paint it. Looks like this: big plane from far

(see the small square at the bottom of the image - its blenders grid at the coordinate systems center) Now i take another color and paint it on it. Looks quite good: new-colored perfect dot on the object

The problem now is, that it isnt good at all. When zooming in, very strange artifacts occur: color pixels shattered around the surface

It seems like only one quad of vertices per pixel of my monitor got painted. Do you have any idea on how to get around this annoying effect?

$\endgroup$
2
  • $\begingroup$ Check if there aren't any double vertices (W > Remove Doubles); check if geometry of the mesh is real, i.e. adjacent modifiers like Subsurf etc. are applied. Other than that please save a small part of problem object, upload the file and edit your post with a link. $\endgroup$
    – Mr Zak
    Commented May 24, 2016 at 20:43
  • $\begingroup$ There are (and can't be) any doubles or un-applied modifiers, since this mesh was generated by my own little python. script. But I can share the blend file with you if you think that helps $\endgroup$ Commented May 24, 2016 at 21:20

1 Answer 1

2
$\begingroup$

Most of the tools that are asked to automatically operate on mesh elements (faces, vertices, edges) depending on their visibility on the current view have this issue.

You'll experience the same thing for example by circle/lazo/box-selecting a dense mesh while in solid-shaded mode, or using the gradient/paint tool while weight painting.

enter image description here

On the top right a box selction in Solid mode, while on the left a selection made in Wireframe mode.


I'm not qualified to tell exactly what's going on under the hood of the source code, so I'll suggest to take the following lines as my personal thought

As elements share more or less the same location on the screen because they are one next to each other, it is difficult for the software to exactly tell if one of them is there or not. From the pattern created, that shows a "quantization" of selection, I can guess that the algorithm is probably checking whether a element is falling inside one of the pixel cell of the selection/brush. Mix that with some numerical approximation and the result is that some of them are missed.

In addition you are doing that in solid mode, so the software has to take into account element's visibility and face's normal thereshold that make things usually harder.


My personal solution, when possible, is to paint/select while in "wireframe" mode or draw a shape and fix error from a closer view.

As currently (Blender 2.77) there is no option for going to a 3Dview-like wireframe mode (where you see behind solid faces, I mean, because wireframe mode for weigt &vertex paint means: "please, show me the wires"), you must look for custum build like this one where the creator has added an useful "limit selection to visible" option for vertex paint mode too.

enter image description here

$\endgroup$
5
  • $\begingroup$ okay i see, that seems to be the reason. But i cannot find a wireframe-vertexpaint mode. is there something like that? would make my life a bit easier i guess $\endgroup$ Commented May 25, 2016 at 15:56
  • $\begingroup$ Don't you have this i.sstatic.net/a4y0a.png? Which version of Blender are you using? $\endgroup$
    – Carlo
    Commented May 25, 2016 at 16:20
  • $\begingroup$ Ah, ok, now I got it. It' doesn't work as expected and you don't have "limit selection to visible option" like in weight paint. That's strange, I'll have to investigate. $\endgroup$
    – Carlo
    Commented May 25, 2016 at 16:33
  • $\begingroup$ Those were also my ideas, but as you also found out, it doesn't seem to be so simple $\endgroup$ Commented May 25, 2016 at 16:34
  • $\begingroup$ (Blender v2. 77) $\endgroup$ Commented May 25, 2016 at 16:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .