It appears to be caused by the "seam edge" of the surface having an extra subdivision beyond what the surface has.
That creates just one point on the edge that is more accurate than the points around it.
It should only be an issue when you have a somewhat rougher mesh generated.
Like in this case here when you have the default density, the mesh generated is fairly rough length-wise because the surface is not highly curved that direction:
You can see there that not a lot of polygons were generated length-wise, that's because the default angle tolerance for the middle of the slider is 12 degrees and those pieces are just barely within that angle, there's about an 11 degree angle between those length-wise sections.
So this creates a pretty big "chord" where the midpoint of those longer mesh edges are a fair distance away from the actual surface. When there is suddenly a more accurate point thrown in right in the middle of those it creates the kind of bumps that you are seeing.
At the moment the best solution when you see this is to move that slider over to the right so it is more like 3/4 of the way over. That will cause additional subdivision so that you don't have as much "chordal" type deviation between the midpoint of a mesh edge and the surface, so that makes it less of a big deviation when there is an additional accurate point thrown into the middle of it.
I'll see if I can do something about the extra point being added in to the seam edge. If I can avoid adding that point in it would solve this problem.
I have also thought a bit about adding in a kind of chordal accuracy measurement during the meshing to handle these kinds of areas better. Just angle alone gives too rough of a mesh in these kinds of shallowly curved areas. One problem though is that a chord distance is a scale-dependent value so it is difficult to produce one metric that works uniformly on both large and small sized objects. The good thing about the angle metric is that it is scale independent.
There are also some other controls in the mesher like "Divide larger than" which you can use to cause additional subdivisions of the mesh at certain distances. Those settings can help avoid the larger chord deviations as well.
- Michael
|