Subdivision Modelling
31/03/2011
History
Subdivision modelling is a technique of digital 3d modelling used to create clean models with scalable detail that look good when rendered. It is used to some degree in almost all industries that employ digital artists. Saying this, it is often at the discretion of the artist or the tool, as to what modelling technique they choose to use. Other popular techniques are per-poly modelling, nurbs modelling and digital sculpting.
The technique and subsequent art of subdivision modelling arose more or less naturally due to several aspects or phenomena in how digital art is typically rendered. The main two examples of this being the default method by which vertex normals are calculated and the way in which Catmull–Clark subdivision (after which the technique is named) works.
An example of a subdivision model
Vertex Normals
A vertex is a point in space where various lines (or edges) meet. They can be thought of as the corners of geometric shapes. When a computer renders a shape on the screen there are two options. Either it can render each polygon (or face) of this shape as a flat surface and do lighting calculations based of that, or it can try to render some smoothed version of the same shape. This second option is often what we want, and this is where vertex normals are used.
If, instead of looking at face normals (the direction the face is pointing), the renderer looks at vertex normals (the direction the corner is pointing) then it can interpolate (a kind of averaging) this direction across the triangular face it is rendering, giving it something of a smooth look. In fact, for any triangle, graphics cards are specially designed so as to be able to do this interpolation the normals from the three vertices at each corner, very fast. This is what happens in all 3d computer graphics, from Lord of the Rings to Quake II.
But, before we can do this interpolation, we have to work out the actual vertex normals to use. To truly find the direction a vertex is pointing is impossible (it has no surface, so has no normal), but what we usually do is simply average out the face normals for all of the faces attached to this vertex - and use this as an approximation for the normal.
This allows us to render smooth surfaces using angular geometry (and a fixed number of polygons), but it does come at a cost. In many cases it does not quite work as expected, and can lead to visual artefacts or sections of the lighting that look weird. These arise from issues with the approximation of vertex normals, and also with the interpolation calculations across triangles. But, with a good mesh, these artefacts can be minimized or even overcome, and this is where subdivision modelling comes in.
Some Terminology
In computer graphics there are new terms for almost everything. I've probably already thrown some new ones at you which I'll revise here, but once you get to grips with these, everything becomes a lot easier to explain. The reason that some of these things have names will also become apparent later.
- Vertex - A point in space where edges meet, the corner of a shape.
- Edge - A connection between two vertices.
- Polygon - A face of a 3d shape, connecting several vertices via edges.
- Mesh - A collection of polygons, a shape in 3d space. Also referred to as a model or a body.
- Triangle - A polygon with exactly three vertices.
- Quad - A polygon with exactly four vertices.
- N-Gon - A polygon with five or more vertices.
- Pole - A vertex with three edges coming out of it.
- N-Pole - A vertex with five or more edges coming out of it.
What makes a good mesh and why?
Asking what makes a good mesh is almost like asking what makes a good painting. Like most things in life, there is no one easy answer, and in truth, what good modelling truly requires is practise. When you get good at subdivision you can feel what makes a good mesh, and it will show when you render it. Still, there are certainly some guidelines you can follow that will minimize visual artefacts and make your life a whole lot easier. Here are some of the main ones. (It is worth noting at this point that these guidelines also apply for almost all mesh creation, and are in no way specific to subdivision modelling.)
Avoid Triangles and Poles
Triangles and poles can be seen as two sides of the same coin. They are often the cause of weird smoothing artefacts and so should be avoided when they can. Still, it is simply impossible to avoid them completely; any mesh will require them some number of them. Often they are placed with an attempt to minimize their effect. There are two main ways to do this, either by placing them on a surface which is relatively flat, or by "hiding" them in tight closed off areas of the mesh. In human characters this is often done in armpits, groin, joints, or actually anywhere with natural creases in the surface.
Poles and triangles "hidden" on the flat part of the spanner
Avoid N-Gons and N-Poles
This is really fairly similar to the above point, and they are hidden using the same techniques. Typically people try to avoid these more than triangles or poles. This is mainly due to the fact that they are harder to model around and the fact that the higher the number of edges going into the pole, or the number of sides of the face, the weirder the smoothing issues become.
Try to construct your mesh mainly of quads
This point often seems a little bit misguiding to newcomers. For example, if you have some knowledge about graphics you will know that models are only ever rendered using triangles anyway - all quads are turned into triangles before rendering, usually by connecting an edge between the two nearest vertices. So in this way, trying to construct your mesh mainly of quads might seem pretty redundant and silly. But in truth, building your mesh with quads in mind is the easiest way to avoid doing all of the other bad things that can cause visual artefacts.
Not only this, but there are many, many reasons why dealing with quad meshes are easier than other messy and mixed up meshes. They are easier to animate, easier to rig and easier with just about every other task you might perform on them.
A video showing solid examples of subdivision artifacts
Space your vertices evenly
One mistaken beginners often make is, in a process of achieving an all-quad mesh, cram in a load of redundant edges, vertices and details. This isn't needed, and it wont look good when it comes to render time either. What happens when you have a mesh full of oblongs rather than squares, is you get a load of long thin triangles at render time. These will give issues when it comes to the interpolation and generally will look bad. Bunched too thin they will construct what looks like hard seams on the mesh, which in many cases in undesirable.
Also an idea is to space your vertices so that the density increased in areas with lots of detail. This will give your mesh extra definition where it is needed and wont waste polygons elsewhere.
A well spaced head
Focus on body, form and flow
Another beginner mistake is to get hung up on making an all quad mesh, and in the process end up with something that doesn't really fit the object being modelled. When modelling you should imagine the edges you place following the contours of the object. If you're modelling something organic such as a human body, the edges should follow the flow of the muscles, bulges, curves and crinkles. This will help with animation, manipulation and tweaking of your mesh.
Form over quad use
It is also worth stating that this point is by far the most important. While the others guidelines reduce some of the artefacts, they are generally regarded as an aesthetic choice, and will ease building of the model rather than fix its final look.
Start slowly, have fun
Subdivision modelling is an advanced technique. It isn't the kind of thing that can be mastered in one session. If you are feeling like you're fighting a battle against subdivision modelling then you are doing it wrong. Start off small, have fun, and be proud of what you create! It is far easier to learn subdivision modelling when you feel like you are enjoying yourself.
So where does Subdivision come into it?
Subdivision is a process that will smooth a mesh, adding more polygons and vertices while maintaining form. A quad will be smoothed into four quads which continue to follow the contour of the mesh. This process is used in many things from rendering to digital sculpting. It's essentially what allows you to build meshes with a manageable number of polygons, before using subdivision to make it as smooth as is visually needed.
Boots Mesh
Boots Smoothed
Subdivision, much like calculation of vertex normals, is not perfect. You get artefacts in many of the same ways. Also, any artefacts from vertex normals in the original mesh (at one subdivision level), will remain once subdivided (at the next subdivision level). There is a beautiful symmetry in how this works. On subdivision, Triangles become Poles and N-Gons become N-Poles. The opposite is also true. Poles become Triangles and N-Poles become N-Gons. Because of this, quads are the only thing that subdivides "perfectly", and so having quads in your mesh at all the key locations, which define the form and smoothness of the surface, is essential.
A video explaining how subdivision works.
Subdivision Modelling as a technique
All the things I've said above can be applied to almost any kind of modelling technique. They may seem about rendering in general. But subdivision modelling can really be seen as the process of modelling with all of these ideas at the front of your mind. It is the idea that you engage with these rules and model accordingly. On subdivision forums you won't see the end of talk about Poles, N-Gons and the rest. Advocates of other techniques tend to just get on with it.
The second part of subdivision modelling as a technique are the tools. Often modelling programs classed as "subdivision modellers" will give you lots of advanced tools to help with subdivision modelling. They often allow you to switch quickly between subdivision levels, allowing you to preview your mesh and see how it looks once smoothed.
They also use the concept of "edge loops" and "edge rings", which are sets of edges either connected in a line (for loops) or in parallel (for rings). There tends to be some easy way to select, add, delete and modify these. These two things are an important concept in subdivision modelling, as they are ultimately what define the flow and form of your model.
Finally, in subdivision modelling, it is often common to have a focus on defining form and body first, before subdividing and using the extra polygons to add more detail and depth. This is somewhat similar to the method for conventional painting, whereby large brush strokes are used initially, long before any real detail is added. Like in conventional painting, this has much the same advantages, and often results in better perception of body, form and proportions.
Box Modelling
Where do I start?
The good resources on Sub-Division modelling has dwindled, but a good list can be found here:
It will tell you everything I have told you and more.
Though really, if you are new to 3d modelling in general, by far the best course of action is to simply download a modelling package and have some fun. My favourite (and one of the easiest to learn) is Wings3d. It is free, lightweight and open source - so if you fancy messing around with your newly acquired knowledge, download that and take it for a spin. Happy modelling!