Advanced Mesh Modelling

Blender provides several advanced Mesh Modeling features, mostly aimed at handling easily complex meshes or rather enabling economical, lov-vertex number modeling of complex smooth surfaces.

Catmull-Clark Subdivision Surfaces (-)

Relevant to Blender v2.31 MISSING SIMPLE SUBSURF and CREASES (so let's wait 2.234 to update)

With any regular Mesh as a starting point, Blender can calculate a smooth subdivision on the fly, while modelling or while rendering, using Catmull-Clark Subdivision Surfaces or, in short SubSurf. SubSurf is a mathematical algorithm to compute a "smooth" subdivision of a mesh. This allows high resolution Mesh modelling without the need to save and maintain huge amounts of data. This also allows for a smooth 'organic' look to the models.

Actually a SubSurfed Mesh and a NURBS surface have many points in common inasmuch as both rely on a "coarse" low-poly "mesh" to define a smooth "high definition" surface. But there are also notable differences:

SubSurf is a Mesh option, activated in the Editing Context Mesh Panel (F9 - Figure 1). The Num Buttons immediately below it define, on the left, the resolution (or level) of subdivision for 3D visualization purposes; the one on the right, the resolution for rendering purposes. You can also use SHIFT-O if you are in ObjectMode. This switches SubSurf On/Off. The SubSurf level can also be controlled via CTRL-1 to CTRL-4, but this only affects the visualization sub-division level.

Since SubSurf computations are performed both real-time, while you model, and at render time, and they are CPU intensive, it is usually good practice to keep the SubSurf level low (but non-zero) while modelling; higher while rendering.

Figure 1. SubSurf buttons

From version 2.3 Blender has a new SubSurfed-related button: Optimal. This changes the way SubSurf meshes are drawn and can be of great help in modelling. Figure 2 shows a series of pictures showing various different combinations on Suzanne's Mesh.

Figure 2. SubSurfed Suzanne.

Figure 3 shows a 0,1,2,3 level of SubSurf on a single square face or on a single triangular face. Such a subdivision is performed, on a generic mesh, for each square or rectangular face.

It is evident how each single quadrilateral face produces 4^n faces in the SubSurfed mesh. n is the SubSurf level, or resolution, while each triangular face produces 3*4^(n-1) new faces (Figure 3). This dramatic increase of face (and vertex) number results in a slow-down of all editing, and rendering, actions and calls for lower SubSurf level in the editing process than in the rendering one.

Figure 3. SubSurf of simple square and rectangular faces.

Blender's subdivision system is based on the Catmull-Clarke algorithm. This produces nice smooth SubSurf meshes but any 'SubSurfed' face, that is, any small face created by the algorithm from a single face of the original mesh, shares the normal orientation of that original face.

This is not an issue for the shape itself, as Figure 4 shows, but it is an issue in the rendering phase and in solid mode, where abrupt normal changes can produce ugly black lines (Figure 5).

Figure 4. Side view of subsurfed meshes. With random normals (top) and with coherent normals (bottom)

Use the CTRL+N command in EditMode, with all vertices selected, to make Blender recalculate the normals.

Figure 5. Solid view of SubSurfed meshes with inconsistent normals (top) and consistent normals (bottom).

In these images the face normals are drawn cyan. You can enable drawing normals in the EditButtons (F9) menu.

Note that Blender cannot recalculate normals correcty if the mesh is not "Manifold". A "Non-Manifold" mesh is a mesh for which an 'out' cannot unequivocally be computed. Basically, from the Blender point of view, it is a mesh where there are edges belonging to more than two faces.

Figure 6 shows a very simple example of a "Non-Manifold" mesh. In general a "Non-Manifold" mesh occurs when you have internal faces and the like.

Figure 6. A "Non-Manifold" mesh

A "Non-Manifold" mesh is not a problem for conventional meshes, but can give rise to ugly artifacts in SubSurfed meshes. Also, it does not allow decimation, so it is better to avoid them as much as possible.

Use these two hints to tell whether a mesh is "Non Manifold":

The SubSurf tool allows you to create very good "organic" models, but remember that a regular Mesh with square faces, rather than triangular ones, gives the best results.

Figure 7 and Figure 8 show an example of what can be done with Blender SubSurfs.

Figure 7. A Gargoyle base mesh (left) and pertinent level 2 SubSurfed Mesh (right).

Figure 8. Solid view (left) and final rendering (right) of the Gargoyle.