0
$\begingroup$

Smoothed the mesh normals. Put Auto Smooth normals at 30 degrees. But these stripes - I don't understand why they appear. Maybe someone knows how to smooth them out and why are they so rough? ?

enter image description here enter image description here enter image description here

$\endgroup$

2 Answers 2

3
$\begingroup$

Why do your smooth shaded normals look so funny on this shape? Because of the triangulation of long trapezoids.

Here's how Blender determines your per-sample normals: A) It calculates face normals (from the average plane of the face, for a quad.) B) It calculates vertex normals from the face normals. C) Then, very importantly, it triangulates the mesh (this is why a wireframe shaders shows triangles on a quad mesh). D) Finally, it interpolates your vertex normals across each face to find the normal of each particular sample.

But let's look at what happens when we triangulate your mesh (using fixed triangulation, which is Blender's default method):

enter image description here

So first, be aware that when I triangulate, I'm going to get slightly different normals, because then I'm doing C before A or B. I've left a copy of the untriangulated mesh in the upper left corner of the matcap view so you can see that the normals of the original still display triangulation.

But look at the triangulation: I'm left with these long skinny triangles, of uneven size. For each sample inside each of those faces, I'm only interpolating from the 3 vertex normals composing that face. The vertex normals are smooth throughout the mesh, but the triangulated mesh is not smooth-- the faces are of uneven size. And so the per-sample normals are not smooth. As we move our gaze across the object, the normals change rapidly then slowly, rapidly then slowly.

And this will persist even as we do procedural subdivision-- even as we subdivide, we maintain long, trapezoidal faces.

This is why one of the rules of good topology is, evenly sized square quads-- square in aspect and angle. Is that doable for interesting meshes? No, but it can be approached. (This is one of the lesser appreciated rules of good topology, and I'm grateful for this SE question because it gives the simplest demonstration of it that I've seen.)

Okay, so then the next question is, how can we fix this? By making our faces more square. We're kind of stuck with trapezoids if we want to make this dish shape-- we can't get rid of the trapezoids without turning it into a cylinder. But we can make them more square in aspect by adding loop cuts:

enter image description here

Upper left has our original mesh with subdivision level 1. Lower right has our original mesh with two loop cuts to make our faces more square, and subdivision level 1. Looks a lot better to me! Of course, if you look more closely, you'll see triangulation-- unfortunately, triangulation is a fact of life in 3D rendering, and the only fix is lots of vertices.

Note: the problem here is a problem with interpolation of vertex data. If we want to normal map this mesh, we don't have to worry about its actual normals, vertex or interpolated, because we're going to be overriding them anyways with arbitrary, per-sample normals. (Although we will want to explicitly triangulate our low-poly, or else make sure our ultimate rendering engine triangulates in the same way as Blender, since those normals are specified relative to the interpolated normals, and those interpolated normals depend on exactly which way we triangulate our mesh.)

$\endgroup$
1
$\begingroup$

i've had a similar issue some time ago. I turned off auto smooth normals since it seems they are sometimes the issue temselves. Then i just rightclicked and chose Shade Smooth.

What might be enhancing your problem are converging normals in the middle but i'm not sure.

If this doesn't do the trick establish the smoothness with a subdivision surface modifier and support loops. that's gonna be the go to method for rendering anyway.

I hope this helped!

$\endgroup$

You must log in to answer this question.

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