4
$\begingroup$

I have been working on a model in Blender that is made up of several smaller sub-pieces. Having finished, I exported to Unity and not all of the sub pieces showed up. After having done some research I realized it was because of the normals facing the wrong direction. I then recalculated the normals for some of the surfaces that were not showing up, but this resulted in a potentially worse problem. I now have sub-pieces that have some vertices with outward facing normals and some with inward facing normals. As a result, flipping the normals for each sub-piece is useless, because either way not all of the surface is rendered when exported. So far the only solution I can think of is to manually flip the normals of each vertex across the whole model until they're all facing outward, but this would likely take me longer than it took to model the whole thing. I'm wondering if there is a way to force the normals all to face outward, rather than just flipping or recalculating them.

Okay, so I made up a little example of what I'm talking about:

Say this grid here is a sub piece of my model. There are no smaller selectable parts, unless I go into edit mode and start selecting individual faces or vertices. In my particular case, when I select the entire piece in edit mode and recalculate the normals, I end up with something like this:

enter image description here

The normals of some faces are facing inward and some outward. Thus, if I turn on backface culling I get this:

enter image description here

But as you can see, if I were to select the whole thing and flip the normals, I would get something just as problematic:

enter image description here

Thus it seems to me like the only thing I can do is go and select all the areas of each piece that have normals facing the wrong way and flip them. There are hundreds of pieces, so that's likely to take forever. What I'm wondering is whether there is a way I can tell Blender to make all the normals point the same direction (outward), because flipping and recalculating both don't work.

My Solution: After some more research and attempts to fix the problem, it seemed like the only method that would reliably work was to fix everything manually. So it took about 12 hours, but I just went around to every single part of the model, selected the faces that had normals facing the wrong way and flipped them. I guess the thing to do is just not get yourself into this situation to begin with.

$\endgroup$
3
  • $\begingroup$ You can select just a portion an recalculate, and tick the "inside" checkbox on the toolbar. Is that what you mean? $\endgroup$
    – J Sargent
    Commented May 27, 2015 at 9:53
  • $\begingroup$ What happens if you Remove Doubles first? Usually if Recalulate Normals (make normals consistent) doesn't work it's because there's confusing geometry. or things like three faces connected to one edge.. $\endgroup$
    – zeffii
    Commented May 29, 2015 at 10:27
  • $\begingroup$ You could just add solidify modifier and just leave the settings and apply that worked for me br $\endgroup$ Commented Aug 14, 2016 at 1:25

4 Answers 4

2
$\begingroup$

When you have normals facing in different directions you need to recalculate them.

In Edit Mode select everything and press CtrlN to make the normals consistent (also refered as recalculate normals outside).

enter image description here

Th opposite of that operation is ShiftCtrlN to recalcuate the normals inside

enter image description here

$\endgroup$
1
  • $\begingroup$ I tried doing so, but when I recalculate outside or inside, the result is a piece with a patchwork of inward and outward facing normals (Like in my pictures above). $\endgroup$
    – user14642
    Commented May 28, 2015 at 1:47
2
$\begingroup$

I think in this situation, when your (sub)surface is flat, you can in Edit Mode select one face with a wrong normal then "Select Similar" (Shift+G)->Normals and then every normal in that object will face in the same direction. This works only for flat (coplanar) objects but in your example it looks like one.

$\endgroup$
0
$\begingroup$

You should select in edit mode the complete mesh and then recalculate, not only the 'wrong faced' faces. Flipping vertices doesn't have much effect, flipping vertices does. When a face is flipped, then the corresponding vertices also flip :)

$\endgroup$
1
  • 1
    $\begingroup$ Would you be able to rephrase your answer? I think it is helpful, but needs further expansion. The second sentence is illogical (should the second "vertices" be "faces"?) $\endgroup$ Commented Jun 21, 2018 at 0:53
0
$\begingroup$

I had this problem recently with a complex 3D model, and found a trick that helped. First, turn on "Face Orientation" in Viewport Overlays (Edit Mode) so that normal direction is indicated by red (backward) or blue (forward). Then, select a face you want to flip, then press Ctrl+L (Select Linked All) and Delimit by Normal. That will select adjacent faces facing the same way. Then hit Option+N to flip the normals. Repeat these steps until you are finished.

$\endgroup$

You must log in to answer this question.

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