Topology is the layout of a model, how the vertices and edges are placed to create the mesh surface.
Good topology is essential if you want fast framerates (realtime) and good deformation (both realtime and pre-rendered). For realtime rendering, bad topology can also create rendering problems, see GameRenderingTerminology.
Rendering Topology Examples
Examples of mesh topology used for rendering, as in film.
- Hippydrome: Articulation - Modeling and Theory by Brian Tindall, Character Technical Director at Pixar
- gotwires.blogspot.de Got Wires is all about Subdivision Modeling: Video Tutorials, Sub-D Wires and Modeling Resources.
- Reference Topology Research - Pinterest album.
- File:SubdivisionModelingDotCom Topology-Head.pdf (8MB PDF) - visual summary of the old CGTalk Topology research thread, from Alexander 'mister3d' Alexandrov on the SubDivisionModeling.com forum
- Body topology CGTalk thread started by Steven Stahlberg
- File:HDRI 3D Issue 8 - Go With the Flow.pdf (2MB PDF)Go With the Flow tutorial by William 'proton' Vaughan
- Dave K's Poly Head Modeling Tutorial by Dave Komorowski
Realtime Topology Examples
Examples of mesh topology used for real-time 3D, as in 3D games.
- Testing the new DX11 features of ma2013.5, Youtube timelapse - Paul Tosca has released the source files for his Nyra character "to help others that might be on the road to becoming game character artists and want to check out the model/textures/psd layout".
- Low Polygon Joints - What is the best way? from the Polycount Forum.
- Street Cop Workflow by Mashru Mishu.
- Face Topology [Community Breakdown ] thread on the Polycount Forum.
- Ancient-Pig's basic deformation tutorial by Jonathan 'Ancient-Pig' Rush.
- shoulders from japan from the Polycount Forum.
- Low-Poly Thread from the Polycount Forum.
- Allods Online ingame artwork from the Polycount Forum.
Principles of Topology
Mastering good mesh flow takes time to learn. Just like any other discipline, learning about good topology usually requires making the mistakes yourself in order to experience first-hand what the results are, so you understand how important it is to avoid them next time. Most people learn by doing. Reading and research is very important, but after all the reading, make sure you attempt to do it. Nothing beats hands-on learning, and repetition.
In-game models should be optimized to create a good silhouette, define edge-loops for better deformation, minimize extreme changes between VertexNormals for better shading, and allow for good UV seams.
You can start with the 2nd subdivision level of your digital sculpt, or in some cases with the BaseMesh. Then you can just collapse edge loops or cut in new edges to add/remove detail as necessary. Or you can re-toplogize from scratch if that works better for you.
Are you creating a base mesh for subdividing in Mudbox or Zbrush? Or are you modeling a low-poly model? Or is it going to be a base for modeling a subdivision surface model? Each has different needs in terms of topology.
- If you're going into ZBrush, then you want to use quads as much as possible, to avoid pinching as you sculpt.
- If you're modeling a low-poly game-ready mesh, then triangles are fine, but you want every edge to be there for a reason.
- If you're making a subdivision surface model, then proper edge loops are crucial. Subdivision tends to highlight every deficiency in your technique.
Vertices and edges need to be in certain places to give good bending/compressing/stretching when the model is skinned or morphed. Topology is the most important where the model has to deform the most: crotch/hips/butt, shoulders/armpits, mouth corners/cheeks, knees, elbows, hands/fingers. For examples and discussions, see BodyTopology, FaceTopology, Limb Topology, ShoulderTopology.
Avoid T-vertices, doubled faces, gaps, flipped faces, internal unseen faces, floating vertices, etc.
Poles can create dimples or bumps in a subdivided surface, they should be placed in flatter areas to hide them, and are best kept away from areas that deform. See The Pole and The Pole - revised from the Subdivision modeling forum. See also Help with poles from the Polycount forum.
Add more polygons where there's curvature, less where it's straight, but balance this by the needs of the other priniciples.
Polygons define the shape of the model, don't waste polys where they don't add to the silhouette, depending on the requirements of the other priniciples.