Mesh shading problem

Hello, I’m trying to build a wall from elements. The attached image shows a mesh element in 3ds max and then imported to Unity. I try to understand why seams are visible. Positions and normals of adjacent vertices are the same (they overlap).

CombineChildren doesn’t help. It would helped if it merged vertices and created submeshes for different materials.

Is there a simple solution to this problem?

Could be the normals; try having Unity calculate them instead of importing them.

–Eric

I tried but still the same effect. In fact, the wall has no seams only when I recalculate normals with 0-angle smoothing.

And also the shading is good when the light is in some distance from the mesh. I think the normals are ok.

the normals aren’t okey.
The reason it does not work is that the normals don’t get normalized across the adjacent surfaces.
The only case where this would work correctly without a visual glitch is the one case where the vertices do not have any normals at all basically, where only the normals of the faces are used (technically this means that you have distinct vertices for each face so each vertex can have the same normal as the triangle to which it belongs) and even that only works if you use exactly the same blocks over and over again.

In any other case you will need to use the combine children script that comes with unity and let it combine multiple meshes into one and then execute RecalculateNormals on the resulting mesh

If I use a different material in the middle element, the CombineChildren will give me two separate meshes and RecalculateNormals won’t work.

Thank you for the hint. Now I know that I have to find some materials about math that stands behind calculation of normals.