- Home /
Problem with Winding Generated mesh, Material and edges appear wrong
I've generated a 5x5 of Vector3s to create a 4x4 grid tile, and I've got the triangles wrapped so that it's visible from the top side. Here's what I've rendered so far:
But something is still wrong with my material, or triangle winding or something. The edges don't look crisp, the lighting is random. Something is wrong here. I used to remember why this effect would happen, but forgot what the name of it is...
My Code Basically looks like this:
mainObject = new GameObject();
mainObject.AddComponent<MeshFilter>();
mainObject.AddComponent<MeshRenderer>();
mainObject.GetComponent<MeshRenderer>().material = Resources.Load("TerrainMat") as Material;
mainMesh = mainObject.GetComponent<MeshFilter>().mesh;
mainObject.transform.parent = transform;
// I generate the vertices and faces (see below)
mainMesh.Clear ();
mainMesh.vertices = newVertices.ToArray();
mainMesh.triangles = newTriangles.ToArray();
//mainMesh.uv = newUV.ToArray();
mainMesh.Optimize ();
mainMesh.RecalculateNormals ();
mainMesh.RecalculateBounds();
The vertices are generated row by row from top to bottom, left to right. No matter how I wind the triangles it seems to fail, although if I wind them in reverse so that only the underside of my model is visible, it seems that the color is at least consistently dark, as the underside should be.
The Material is a pretty standard material, I don't think it's the problem.
Answer by jengax42 · Oct 02, 2016 at 02:34 PM
From the docs (https://docs.unity3d.com/Manual/AnatomyofaMesh.html):
"To get crisp edges, it is necessary to double up vertices at each edge since both of the two adjacent triangles will need their own separate normals."
Your answer
Follow this Question
Related Questions
Updating UV in imported mesh without having to re-material 0 Answers
Flat shading procedural generated mesh? 1 Answer
Algorithm for automatic mesh creation 1 Answer
Any script to 'fix' normals/winding order? 3 Answers
Model faces arent showing up even though I reversed my normals. Anyone know what's wrong? 3 Answers