Inverted Normals Problem (aka Dark Spots)

I’m trying to create some models for source and I’m coming across an issue where the model has some dark spots scattered on the body when previewing them in game. This seems to happen with me and almost every model I’ve made. I went and asked on other forums and people were telling me that the issue is inverted normals. The only problem is, Blender doesn’t give any indication where the normals are flipped. The model seems fine in every view. Someone mentioned a cause of this is mirroring which is what I used for the model. Recalculating faces doesn’t seem to work nor does inverting the model’s textures. I’m really lost and so far I can’t seem to find an answer. Any ideas?

Recalc Normals CTRL-N

In the (N-key) Properties Panel, under Mesh Display you should see a Normals section with an icon to allow you to Display Face Normals as lines. This gives you neat little blue lines pointing in the direction of the normals, it’s a really handy thing to turn on to see if you’ve got normals pointing the wrong way.

Use this material for override in render settings or while modeling.
Works in both BI or Cycles.
http://www.pasteall.org/blend/29229

If recalculating normals doesn’t work, it’s likely because you’ve built mesh errors that prevent it from working.

http://bit.ly/1hT900n http://bit.ly/1hT90xt

I’ve tried turning that on but even that doesn’t show where the flipped normals are.

If that’s just to show where the texture is facing on the model, then that is not the problem. The faces are all facing in the right direction.

You might want to try N -> Shading -> Backface Culling while in Edit-Mode.
I highly recommend this when you work on game models because you won’t always use watertight models, especially for environments.
When you turn on Backface Culling, the face will only be grey when you are looking at the side of the positive normal direction.
This means, when you see ‘holes’ in your mesh, you may want to use face selection if you only see the face from behind, click at the face or at the black dot and use “Flip Normals” (W -> 8). This will invert the normals of the selected faces.
Hope this helps.

Oh, and one more thing: This has already been said, but when you’ve got a watertight mesh, try Make Normals Consistent (Ctrl - N).
Most of the time, this will do the trick.

Also, you said you have mirrored something. You may want to turn on Backface Culling and duplicate something afterwards.
Then, mirror the duplicated mesh. You will see, each time you mirror a mesh, the normals will be inverted.
You can solve this ‘problem’ with flipping the normals (W -> 8) when you have still selected the mirrored mesh.

EDIT:

If that’s just to show where the texture is facing on the model, then that is not the problem. The faces are all facing in the right direction.

As far as I have experienced this, Blender renders both sides of the faces that use an image texture and a diffuse shader the same way.
So if you see the texture on a model in Blender, this doesn’t mean the normals are pointing into the right direction.

I’ve tried the Backface Culling and nothing really changes with that activated in the view ports. I also found the vertices that are causing the problem however W + 8 does nothing to solve it (if flipping normals even applies to vertices). I tried flipping the faces where the normals are flipped and use Ctrl + N, which automatically flipped the textures in place, but that didn’t solve anything.

The only thing that “fixed” the flipped normal was to dissolve/delete the vertex that was causing it but once I added or knifed in a new vertex, the problem stayed the same. I am so lost on how to fix this. It is driving me crazy.

Does no one know?

Post a blend file with the bad part included. That will allow us to work out what you are doing wrong. When you say “when previewing them in game”, what game are you refering to?

I don’t really understand you. You say Backface Culling didn’t change anything in the view port, yet you do have normals pointing into the wrong direction?:

I tried flipping the faces where the normals are flipped and use Ctrl + N, which automatically flipped the textures in place

Backface Culling always shows transparent faces when you look at them from behind, so you should see a hole where the normals point inside, when viewing it from outside.

If my suggestion didn’t work, I really don’t know what is causing the problem.
Maybe you can show some screenshots? This may help.

Also, two more things you may consider:
After flipping the normals to the right direction, have you unwrapped again? Maybe the mesh has to be unwrapped again in order to get the normals right. I’m not sure about this, though.

Another thought would be that you actually have multiple faces that are overlapping and you don’t see the effect of Backface Culling because the overlapping faces point into different directions. Have you tried Remove Doubles? If it deletes vertices, you may have a profound problem here.

I downloaded the blend,http://www.pasteall.org/blend/29229 went to edit mode, clicked recalculated and rendered fine. :slight_smile: