21

I created a kind of procedural modeled ground (rocks desert like), with some decimate modifiers to have a really crazy topology.

The result is nice, except for some ngons faces that contains some weird normals, due to the elevation difference of several vertices:

enter image description here

How to avoid this? My first guess is to "flatten the face, but I can't figure out the way to do this operation.

I must specify that the face is not perpendicular to the Z axis, so a zero-Z-scaling (S Z 0) won't work here.

ideasman42
  • 47,387
  • 10
  • 141
  • 223
Polosson
  • 6,544
  • 8
  • 33
  • 61

4 Answers4

27

You can scale along the normal.

Set the Transform orientation to Normal in 3D view > Header:

enter image description here

Then press SZZ0.

gandalf3
  • 157,169
  • 58
  • 601
  • 1,133
  • 1
    so useful! I have spent hundreds of hours in Blender without knowing that was possible. – Steve Jan 08 '17 at 22:52
21

Since version 2.76 there is a flatten faces tool:

Mesh -> Cleanup -> Make Planar Faces

ideasman42
  • 47,387
  • 10
  • 141
  • 223
14

You can also use the flatten tool. This tool is part of an add-on that comes bundeled with blender. It is called "Loop Tools"

enter image description here

You can invoke it by going to the loops tools in the specials menu, W -> Loop Tools -> Flatten. enter image description here

You can enable it in the user preferences:

  1. Ctrl Alt U

  2. go to the Addon Tab

  3. Search for "Loop Tools"

  4. Enable it by ticking the checkmark

enter image description here

Vader
  • 14,680
  • 16
  • 74
  • 110
  • This one works to flatten any surface even on angles, while the others above this post only seem to work when directly on the ground. Maybe I couldn't figure out the others but this one solved my issue and is great for cleaning a messy mesh while retaining rotations. Thanks for the tip! – Cover Club Media Oct 09 '17 at 21:37
-1

A simpler approach to the first answer would be, go to Object Properties -> Scale. And change the x y z value to 0 according to your needs.

Lukasz-40sth
  • 3,062
  • 7
  • 19
  • 30
edusanketdk
  • 101
  • 1