I'm going through a course on blender. The course teaches blender through the use of several projects. Right now I'm modeling a low-poly chess set, and we've arrived at the knight. Because we made the knight free-form (just extruding faces and edges up from the base), and because we want to stay as quad-based as possible (to preserve loop cuts), there are a lot of nonplanar faces.

I've modeled my knight, and would now like to fix the nonplanar quads. Most of them only need one or two vertices pushed a small distance (typically less than 0.05BU). My problem is that I can't push them the right way.

In all of the transform orientations (global, normal, gimbal, etc.) the axes never point in the exact direction I need to push the vertex. The closest I can come is the view oreintation, which isn't exact for those vertices not perpendicular/parallel to a side (front, top, right, etc.).

So how can I fix my faces? Is there a way to fix nonplanar quads? Do note that this is a low-poly model, meant to look blocky. The subdivision modifier will not be used.

Note that in the course, the instructor simply uses the edge split modifier. I don't like that, as it is not fixing the geometry, and my model still has triangulation on it (the modifier essentially does nothing). Even if it did work, I would prefer to actually fix the problem instead of pretending it's not there.

You can download the file here. Note that I am using the mirror modifier, which is why there is only half of a knight. You'll have to turn both modifiers off and turn mesh analysis on to see which faces are non-planar.

  • $\begingroup$ Could you add what you hope to gain from a model, which only consists of planar quads? If you are using the subdivision surface modifier, smaller quads are going to be created which are even "flatter". $\endgroup$ – Leander Oct 5 '18 at 18:48
  • $\begingroup$ blender.stackexchange.com/questions/56755/… $\endgroup$ – Duarte Farrajota Ramos Oct 5 '18 at 19:16
  • $\begingroup$ @Leander I don't follow. The faces need to be planar so that we can control the way the knight renders. They need to be quads to preserve the loop cut capability (remember this is a course I'm taking, and not 'my decision'). I am not using the subdivision surface modifier, as the chess set is specifically following a low-poly look and feel. $\endgroup$ – Thomas Reinstate Monica Myron Oct 5 '18 at 20:48
  • 1
    $\begingroup$ You may want to use the answer here .. the custom orientation would work the same way, for flattening quads. $\endgroup$ – Robin Betts Oct 5 '18 at 21:14
  • $\begingroup$ @RobinBetts Exactly what I was looking for. Tedious, and the nonplanar geometry spreads around as you move the vertices, but at least I can control it. Thanks! $\endgroup$ – Thomas Reinstate Monica Myron Oct 6 '18 at 1:19

I will compile multiple methods here from various sources.

The methods for a single face will work for multiple faces if you choose Individual Origins as the Pivot center for rotating/scaling. However, this will only work for faces which aren't adjacent. If they share common edges, the single face options will treat them as one large face.

Scale along normal (single face)

Select the vertices of a face, choose the Normal Transform Orientation, then scale along the Normal Z axis. You can do this with the scale manipulator or by pressing SZZ. You can make a single face planar by scaling to 0 with SZZ0.
scale along normal

LoopTools Flatten (single face)

If not already, activate the preinstalled LoopTools Addon. Select the face and choose the Fatten operation from the LoopTools addon. It is available in the 3DView toolshelf T under tools > LoopTools or in the specials menu W > LoopTools Flatten.
looptools flatten

Make Planar Faces (multiple faces)

From this answer, there is a tool to make faces planar.
make faces planar

Shift single Vertex

In this answer is a script to make a face planar by only changing a single vertex. Select the three vertices of a face, which shouldn't change, then Shift select the vertex which should be shifted, marking it as the active vertex.
Then, call the Flatten Vertex operator (see the linked answer for details).
make faces planar
Note, that this will not update the Mesh Analysis display. But that will update after a Zero operation, like G0.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.