Difference between revisions of "Topology"

From polycount
Jump to: navigation, search
(Deformation: links)
 
(2 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
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]].  
 
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]].  
 +
 +
* [[BodyTopology]]
 +
* [[FaceTopology]]
 +
* [[Limb Topology]]
 +
* [[ShoulderTopology]]
 +
* [[SphereTopology]]
  
 
== Rendering Topology Examples ==
 
== Rendering Topology Examples ==
Line 7: Line 13:
 
* [http://www.hippydrome.com/ Hippydrome: Articulation - Modeling and Theory] by Brian Tindall, Character Technical Director at Pixar
 
* [http://www.hippydrome.com/ Hippydrome: Articulation - Modeling and Theory] by Brian Tindall, Character Technical Director at Pixar
 
* [http://gotwires.blogspot.de/ gotwires.blogspot.de] Got Wires is all about Subdivision Modeling: Video Tutorials, Sub-D Wires and Modeling Resources.
 
* [http://gotwires.blogspot.de/ gotwires.blogspot.de] Got Wires is all about Subdivision Modeling: Video Tutorials, Sub-D Wires and Modeling Resources.
* [http://picasaweb.google.com/danwill/ReferenceTopologyResearch# Reference: Topology Research] - an album of great wireframes from Dan 'pointpusher' Will
+
* [https://www.pinterest.com/search/pins/?q=Reference%3A%20Topology%20Research Reference Topology Research] - Pinterest album.
 
* [[file:SubdivisionModelingDotCom_Topology-Head.pdf]] (8MB PDF) - visual summary of the old CGTalk [http://forums.cgsociety.org/showthread.php?f=25&t=38469 Topology research] thread, from [http://mister3d.cgsociety.org/gallery/ Alexander 'mister3d' Alexandrov] on the SubDivisionModeling.com forum
 
* [[file:SubdivisionModelingDotCom_Topology-Head.pdf]] (8MB PDF) - visual summary of the old CGTalk [http://forums.cgsociety.org/showthread.php?f=25&t=38469 Topology research] thread, from [http://mister3d.cgsociety.org/gallery/ Alexander 'mister3d' Alexandrov] on the SubDivisionModeling.com forum
 
* [http://forums.cgsociety.org/showthread.php?f=7&t=108412 Body topology] CGTalk thread started by [http://www.androidblues.com/ Steven Stahlberg]
 
* [http://forums.cgsociety.org/showthread.php?f=7&t=108412 Body topology] CGTalk thread started by [http://www.androidblues.com/ Steven Stahlberg]
Line 62: Line 68:
 
== More Information ==
 
== More Information ==
  
* [[BodyTopology]]
 
* [[FaceTopology]]
 
* [[Limb Topology]]
 
* [[ShoulderTopology]]
 
* [[SphereTopology]]
 
 
See also:
 
 
* [[BaseMesh]]
 
* [[BaseMesh]]
 
* [[Character Modeling]]
 
* [[Character Modeling]]

Latest revision as of 09:54, 7 March 2017

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.

Realtime Topology Examples

Examples of mesh topology used for real-time 3D, as in 3D games.

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.

Topology Types

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.

Deformation

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.

Manifold Surfaces

Avoid T-vertices, doubled faces, gaps, flipped faces, internal unseen faces, floating vertices, etc.

Poles

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.

Polygon Density

Add more polygons where there's curvature, less where it's straight, but balance this by the needs of the other priniciples.

Silhouette

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.

Vertex Splits

See GameRenderingTerminology#Vertex_Splits

Vertex Normals

See VertexNormal

More Information


Personal tools
Namespaces

Variants
Actions
Navigation
Tools