This article summarizes the use of edge loops in mid-res polygonal facial modeling and related anatomical theory.
Faces are weird objects. Mechanically, a face is a nylon sock full of pressurized Jell-O mugging a hydraulic cash register wrapped in sentient rubber bands. It stretches and puckers, slobbers and sloshes, and rattles all around, especially in flap-n-snaps.
Modeling such a thing in 3D so that it looks natural when it’s moving is tricky. There’s a technique known as an edge loop which is useful in this situation, but to use it successfully you must understand the theory behind it.
When modeling for animation, potential motion must be taken into account. Certain shapes allow for certain motions, and other shapes will fight attempts to be animated. In general, edges or boundaries between shapes act as hinges, allowing bending, and extra detail allows expansion without distortion, like the corrugations in a bendy straw.
If available memory and processor power were infinite, an infinite amount of edges and detail would allow for any motion, limited only by the rig — however, here in reality we must find a balance between the amount of detail in the model (aka its weight) and functionality.
Four is the Magic Number
When modeling using low- to medium-resolution polygonal methods (as opposed to NURBS, splines and patches, or other weirder methods) it’s best to ensure that the final mesh is made of only four-sided polygons, known as quads, for two reasons: 1) during animation quads will bend and crease in more predictable and controllable lines, instead of in jagged zig-zags, and 2) subdividing a quad-based model for smoothness gives predictable and efficient meshes, which leads to more predictable and efficient renders. (In fact, Mental Ray won’t render subdivision surfaces at all unless they’re made only of quads.)
However: faces do not naturally exhibit four-sidedness or move in rigid, angular ways, except for robot faces. Organic faces like yours and mine are made of swooping arcs and curves which intersect at odd angles; facial features likewise follow these curves when moving, due to the underlying structure of the face.
Faces change shape in two distinct ways: muscles move the jaw and other large masses of the face, and the finite elasticity of the skin riding on top of the muscle leads to bunching, folding, and finer wrinkling. Except for speaking, eating, sneezing, blinking, yawning, and oral hygiene, most of this movement occurs in order to express emotion.
The Sphincter the Merrier
The eyes and the mouth are the centers of emotion. Each of these areas is ringed by a loop of muscle, a sphincter; there’s a mouth sphincter and two eye sphincters. These sphincters, like all healthy sphincters, squeeze an opening shut. On separate layers, corresponding muscles pull against these loops in radials out from the center, to re-open the opening.
The action of these muscles causes the skin above to bunch up like a rug, with creases or folds perpendicular to the motion. As skin loses elasticity with age, skin bunches more easily, and repeated bunching leads to the formation of wrinkles. As there are two general sets of perpendicular face muscles — loops and radials — each set causes wrinkles to appear in approximately the same pattern as the other set’s muscles. So it may be said that facial wrinkles appear in the same pattern as underlying muscles.
When modeling with polys, it’s convenient to align them to the most likely direction of motion, so that the mesh will behave most predictably while minimizing the number of polygons. In general, this means aligning polys to the underlying muscular structure, approximated by wrinkle placement. This consideration of wrinkles, muscles, and motion has led to the use of edge loops. These are curving rows of polygons whose edges describe loops and radials — in nearly the same pattern as facial wrinkles.
It’s not a perfect match, as faces are more complex than a sheet of polygons; but edge loops have proven to be a good approximation. They’re also a handy way to map and define possible motion before any animation takes place — if the edge loops don’t look right, the animation won’t look right either.
Of course, loops of four-sided polygons won’t line up in neat rows and columns. Very often, the loops aren’t really loops at all, but look more like overlapping magnetic field diagrams or topographic maps. A radial from one loop becomes the radial of another, or perhaps a separate loop entirely. The important part is that they are contiguous contours, with a smooth flow.
There’s a particular edge loop pattern which has become widely used among facial modelers, popularized by superstar modeler Bay Raitt, and characterized by an arch above the bridge of the nose. It may not work for every model, but it has many advantages: it provides extra detail and freedom of movement in areas where finer muscle control is needed, and hides less-ideal geometry in areas which do not.
There are many ways to connect and merge edge loops, and tricks for dealing with complex edge intersections while maintaining desired edge lines, keeping to quads, and avoiding 3- and 5-edge nodes (aka “poles”). The key is to begin with a few foundation lines and build up from those. If the loops around the eyes and mouth are properly arranged, detail loops which follow will be sure to serve the interests of the animation.
Nitty, Followed by Gritty
Edge loops aren’t just for faces. They’re useful for modeling any organic surface which will distort in a non-linear way. The best way to determine what is right for your model is to become familiar with the theory through practice.
Here are some more references which discuss edge loops and related techniques:
Dave K’s poly modeling tutorial has a good breakdown of edge loops, although his sample model’s nose is up between the eyes.
Ear-modelling tutorial using edge loops
Blender forum thread showing edge loop problem-solving
Box modeling tutorial includes edge intersection recommendations
Giant computer graphics intro, includes edge loops and quads theory« previously: Dionysos – Tait-toi Mon Coeur | Home | next: Björk – Wanderlust »