tutorials

The Art of Good Topology Guide

Oct 17th 2024

Mesh objects are made up of vertices, edges, and faces, which we call components.

There are several ways that the components can be arranged to create any given shape, and we call that arrangement the topology.

Good Topology

The topology of a mesh determines what we can do with it. At the end of the day, a model is created to be used for something like a game, an animation, a 3D print, a product pitch, a UI element, or whatever. There are so many uses for 3D these days, and what the use case is determines how the mesh should be constructed.

For example, in a game asset workflow, you want to get the most amount of detail you can with the least number of polygons. In a visual effects workflow, polycount is less of an issue, and you may be more concerned about its quality when subdivided and how easy it is to make changes to. In 3D printing, you may not care about polycount too much either, but you do care quite a bit that the model is one solid watertight object.

So, when talking about topology, it’s important to realize that what might be considered good topology in one workflow or step in a workflow might be considered bad topology in another. As you get further along your journey and start to specialize in a field, you’ll learn all about the requirements for your specific use case and how to tailor your modeling accordingly. Good topology has more to do with the effectiveness of the end result than whether the wireframes look pretty or not.

cookie_01.jpg

Good topology is when the mesh components efficiently define the intended shape and can be easily manipulated.

Efficient topology means not wasting a ton of polygons where you don’t need them. Beginners often add loops to define details, which is a good thing, but then those loops often run all the way around the model and needlessly complicate, or, even worse, actively disfigure other areas. Part of learning good topology is learning how to keep details localized and how to control the density of the mesh so that there are more vertices where you need more detail and fewer vertices where you don’t.

The intended shape part of the definition refers to matching your edge flow with the anatomy of the detail you’re creating. If you’re creating a curve, you need to have edges that follow that curve. This is pretty intuitive, but what people usually get tripped up on is the opposite - having edges that also follow a path that does not match the anatomy. This creates what I call unintentional details, which can make your model look significantly worse.

Another part of defining the intended shape is supporting how the shape might need to change over time when animated. If it needs to bend, squash, or stretch, good topology supports that movement rather than works against it.

The intended shape also refers to the final shading of the model. Good topology results in good shading, and bad topology, even if it looks like it creates the same shape, won’t look as good when rendered. So, there are some cases where you might think you have a materials issue, but the root cause is actually a modeling issue.

crate-wireframe.jpg

The last part of the definition mentions easy to manipulate as one of traits of good topology. Sometimes, easy and fast to work with topology can be better than topology that’s technically better but a giant pain to adjust. For the most part though, easy to manipulate means keeping things non-destructive, using modifiers for as long as you can, and keeping parts as separate objects so you can make changes quickly. When you’re finished modeling though, it can sometimes mean applying modifiers and combining objects so that the model is more performant and faster to animate.

And while not technically part of topology, things like object organization, proper parenting, and having smartly placed origins and local orientations all make a huge difference in how effectively you’ll be able to model.

Bad Topology

I also want to point out some things that are generally considered bad practice in any workflow that you should try to avoid.

First, broken faces. This is what happens when you push part of a quad or n-gon too far in a non-planar direction and the triangulation under the hood becomes obvious. If you need an edge along a detail, it’s better to set it explicitly.

Along with this, you should also avoid concave quads. They subdivide horribly, create shading issues, and cause confusion when working with edge loops, so they’re pretty much never a good idea. If you need to, split the quad into two triangles, or try to rework the area so all the quads are convex.

Really long, thin faces are also generally bad because they’re difficult to work with, often result in bad shading, and they can cause a performance hit in render engines.

Extremely dense geometry is also pretty bad. Of course, sculpts and scans might come that way out of necessity, but to actually turn that into something usable with the process of retopology is a really important step. Also, by the way, even when sculpting, higher polygon count does not always equate to higher quality. Like Einstein said, keep things as simple as possible and no simpler.

Lastly, there’s a term called manifold geometry, and it refers to meshes that are completely watertight and have an unbroken surface. You definitely don’t need all of your meshes to be like this, unless you’re 3D printing. I certainly don’t worry about having holes in my mesh or giving every single object thickness.

But some other things that fall under the category of non-manifold, which you should absolutely avoid, include having inconsistent normals, having loose edges or vertices floating around the model, having exactly overlapping components, having internally connected components (which can cause a LOT of problems), and in general any time where the back of a face is connected to the front of a face. Those are all recipes for frustration and it’s best to avoid them.

In general, though, bad topology is any topology that makes your end result look worse or perform less effectively.

Edge Loops and Poles

The main thing to look at when evaluating topology is the model’s edge loops.

head-screenshot.jpg

Loops are what define the details of the model. They need to flow along the detail in order to represent it correctly. If the loops flow against the detail, they will create unwanted artifacts or result in a mushy shape.

Loops can be directed using poles, which are vertices with 3, 5, or more connections. Poles are the points at which adjacent loops can split off from each other and head in different directions. By placing them well, we can ensure our loops run along the details we want to define.

poles.jpg

It’s considered best practice to avoid six or more sided poles when possible, since they tend to collapse when deformed and create pinching when subdivided. Three and five sided poles, however, are extremely common.

Using Triangles, Quads, and N-Gons

Each type of polygon has unique properties that can help or hurt the topology depending on the situation.

Triangles, polygons with three sides, a.k.a “tris”, are the foundational shape of all computer graphics. Every other 3D shape, even non-mesh ones, are converted into triangles before they are displayed on your screen. Working with triangles gives you the greatest amount of control over that final rendered result.

Triangles are great for reducing poly count, since the same shape can often be created with fewer final polygons using them instead of quads. The biggest downside of triangles is that edge loops cannot pass through them, which makes editing more cumbersome.

Quads, polygons with four sides, are just two combined triangles, but their unique nature of having opposing sides is what allows loops to flow through them. Models made of quads are often significantly easier to create, edit, and deform, so they should be your default choice when modeling.

N-gons are polygons that have more than four sides. Just like with quads, n-gons are made up of triangles under the hood, but are abstracted as a singular shape for the sake of easier editing. Edge loops cannot pass through n-gons either, so they are helpful for blocking off areas from loop cuts while you are still figuring out the final topology. They ‘break’ as soon as they are not flat, but are perfect for flat surfaces that have a complex shape.

In Blender, you cannot create holes in n-gons, so holes in the mesh must always have at least two edges that connect them to the perimeter.

Subdivision Surfaces

When using Subdivision Surfaces, all polygons are converted into quads, which is a convenient byproduct of splitting all edges in half. Splitting triangles and n-gons results in a pole in the center that has the same number of connections as the vertices of the original polygon, and those connections run right through the middle of the original edges.

topology.jpg

You will often hear that it’s recommended to use all quads when subdivision surface modeling, which might seem odd since the end result is always quads anyway. The reason for this rule of thumb is actually the poles they create and the way the loops running through them are redirected.

When subdivided, three sided poles create areas of high vertex density while poles with five or more sides create areas of low vertex density, and it’s this difference in density that can cause pinching.

subdiv-density.jpg

Also, since the loops don’t flow straight through subdivided tris and n-gons and must be diverted around the poles (and loops are what define the details of the model), it’s easy to create unintentional details that run counter to the shape you are trying to outline, causing the resulting mesh to look messy and not well defined.

Vertices get pulled by their edges in subdivision surfaces. If the topology is a perfect grid of some sort and each vertex is being equally drawn in all directions, there won’t be any pulling even if the grid contains triangles or n-gons. However, if their edges are not evenly distributed around them, they will get pulled from their original center.

pulling.jpg

Different edge loops can serve different purposes, and, when working with subdivision surfaces, I classify them into detail, support, and fill loops. There needs to be a loop that defines the details, of course, but it’s often useful to have a second loop adjacent to the detail loop to help protect it from pulling and support its shape. Then, some loops are there just to connect the rest of the puzzle together and fill in the gaps.

cup_loops.jpg

Quad Junctions

A common technique for redirecting edge loops while using only quads is to use all-quad junctions. They’re especially useful for transitioning from areas of high detail to areas of low detail. This practice of keeping detail localized helps keep loops in the areas that they're needed and not running around the model, complicating and messing up other areas.

junctions.jpg

The main quad junctions, pictured below, can be used to transition from one loop to three loops, from two loops to four loops, or from a grid to a corner.

topology_02.jpg

Tools of the Trade

Blender has hundreds of tools for modeling, but the vast majority of the work can be done with only a few. Technically, you can create any possible 3D shape by just placing vertices and filling edges and faces between them, but that workflow would be incredibly tedious. Just know that the rest of the tools beyond those basics are just there to make your life easier and you can learn them at your own pace.

The most important tools for modeling in Blender are:

  • Inset (I)
  • Knife (K)
  • Bevel (Ctrl B)
  • Insert Edge Loop (Ctrl R)
  • Edge Slide (GG)
  • Subdivide
  • Extrude (E)
  • Make Face (F)
  • Vertex Connect (J)
  • and Merge (M)

Once you have those down, you should also learn:

  • Bridge
  • Grid Fill
  • Dissolve (X)
  • Rip (V)
  • Smooth
  • Mirror (Ctrl M)
  • Shear

You can see all of these tools in practice in my Blender Basics and the Fundamentals of Mesh Modeling courses. When you have those down, you'll have learned every single tool you need to become a very proficient modeler, and anything else you use on top of them is just a bonus.

Modeling Techniques

It’s one thing to know the tools and quite another to use them effectively. Learning to model takes practice and dedication. Following along with someone who knows what they are doing is often helpful when starting out so you can see how they tackle common problems, get hands-on experience, and learn good habits from the start. Some courses I would recommend watching on CG Cookie to learn different modeling techniques, in order of difficulty, are:

  • Mesh Modeling Fundamentals
  • Press Start
  • Rev
  • Catch
  • Cubicity
  • Treasure Chest
  • Sessions
  • Bug Bots
  • Relic
  • Industrial Environments
  • Pothead
  • Sci-Fi Game Environments
  • Human

The first part of the modeling process, regardless of which method you choose to use, is usually blocking. This is where you create your object or scene with as simple of pieces as possible, which is important for making sure all your proportions are correct. Blocking allows you to quickly make changes to the overall shape and composition before you lock in any details.

A common approach to creating shapes in 3D is box modeling, where you start with a cube or other primitive and primarily use cuts and extrusions to build outwards. As the name implies, box modeling is great for objects that are somewhat blocky by nature.

An alternative to that approach is point modeling, where you create loops in empty space to first define your details and then fill in the rest of the shape later. Working that way is great for objects you can trace from a reference or for more complex organic shapes. Because it allows you to define your most important loops right away, it’s often the preferred method during retopology, which is where you create a new mesh on top of an existing mesh to simplify it.

Meshes can be fused together or used to slice or cut one another using Boolean modeling, which is commonly used for hard surface objects. CAD or NURBS modeling, which uses surfaces based on curves rather than faces based on vertices, is also helpful for mechanical parts though is not really supported by Blender.

Sculpting is also a type of modeling, where digital brushes are used to push and pull the mesh in a way that’s much more intuitive for traditional artists.

Procedural modeling uses geometry nodes or python scripting to create objects that can adapt to their environment or your art direction, which are incredibly fun to work with once built.

Simulation can also be used to deform shapes based on physics interactions to create objects that would otherwise be very difficult to model, such as cloth and liquids.

Each approach has unique strengths and weaknesses, but you don’t have to choose just one! They can all be combined and remixed together, and learning more techniques will just make you a faster and more flexible modeler.

Problem Solving Methods

Modeling is a creative process while also sometimes being a technical puzzle. At some point, you will inevitably find yourself stuck on a tricky area. Here are some techniques that can help when that happens:

As you model, pay attention to flexible areas, or parts of the mesh that are easily changeable or where the vertex count doesn’t really matter. This could be along an n-gon, a boundary, a line of symmetry, a flat surface, or just a less important area. Flexible areas are incredibly valuable and shifting an issue over to one of them makes it much easier to solve.

When I’m not happy with the topology in an area, I often select it all and use the F hotkey to make it one big n-gon that I can then slice up with the knife tool. That gives me a blank slate and fresh eyes, and also blocks the surrounding area from getting messed up with edge loops while I’m working.

If I’m able to create the right shape but not with the topology I want, I’ll often use retopology tools like RetopoFlow (or Blender's native snapping tools) to draw new faces on top of it and create better topology without having to build the shape completely from scratch.

Lastly, when all else fails, the best thing to do is delete it and start over. This can be a little painful, since you may have spent hours working on the object, but you learned a lot, sometimes without even realizing it, and each successive attempt will be much faster than the previous since you already know most of the steps. Some of my best models are ones that I’ve attempted three, five, or fifteen times, and the difference in quality between the first and last try is huge.


Author

Jonathan Lampel
0 Comments
Add a Comment

Get the latest

Sign up with your email address and get the latest, straight to your inbox.