Face normals different than vertex normals?

In my game, it necessary to create a procedural mesh through combining many adjacent sub-meshes. When every mesh is combined, the face normals appear to be correct –*the texture displays on the correct side and the collider acts correctly as well. However, when I attempted to use the vertex normals of the mesh, I realized that some were, weirdly, reversed. Can anyone help me understand this problem? Is there any way to recalculate vertex normals based on the face normals? I have already tried mesh.Recalcuate normals and mesh.Optimize to no avail. I would be grateful for any help.

There’s not really such a thing as “face normals”, it’s actually just the winding order of the triangle that determines which side is the front. Vertex normals are used only for lighting, and correspond to the respective vertices.

–Eric

So is there a way to recalcuate the vertex normals using the winding order of the vertices?

I have used vertex normals for texture blends and vertex coloring too. Both could give you a “lighting effect” What 3d program are you using? Some have hooks to fix this kind of thing and some don’t. Can you post a pic of what it looks like, so we can see what the issue is that you are trying to fix? I might be able to help you out if I am familiar with the 3d program you are using to create your models.

I would know how to fix the problem in a 3d program, but the problematic mesh was created procedurally so I cannot use a modeling program to fix the issue. Figured it out though. Just had to evaluate the normals based on their direction. Turned out all normals in the x axis need to be reversed.

Nice, Glad you figured it out…