Project Maiko: Understanding Outfit Details and Weights

This is part 2 of the Project Maiko guide to outfit topology and vertex weights.

Part 1: Creating the Base Bodysuit

Part 3: Adding and Adjusting Outfit Weights

Now that we have a base mesh for our bodysuit, we can start detailing. This post is not about how to use Blender's tools to build shapes, as that is already covered by many modeling tutorials (although if people ask, I will write about it). It is also not a walkthrough of building any specific item. This post breaks down the vertex weighting issues related to mesh complexity, detail construction style, and flexibility. This information will hopefully help you construct your details in a way that will be easy to work with when setting up your vertex weights.

Mesh Complexity

When making meshes that need to move, topology is everything. The first thing to decide is how complex that topology is going to be. In general, you can expect tight clothing to need to be about as complex as the body beneath it. The base bodysuit tutorial will have given you mesh complexity about the same as your body's. Looser clothing, and areas that do not need to move much, can be simpler. The complexity necessary for detailed areas varies greatly, as more complex details require more vertices.

High poly

My outfit poly count is roughly the same as the body before modifiers.

My outfit poly count is roughly the same as the body before modifiers.

Having a lot of vertices to work with has its advantages. It allows for finer detailing and smoother edges. If you are using sculpting, then you'll work high poly for creating details, but should decimate it down before weighting (sculpting is its own complex subject and is not going to be covered in this series).

High poly models increase file sizes, memory requirements when rendering (can be a big issue if GPU rendering), and render times. But the biggest reason to avoid them is that they make it very complicated to fine-tune your weight painting. If you end up needing adjustments, you want to be working with as few vertices as possible.

Low poly

The less vertices you have to worry about, the easier your job is. However, working at low polygon levels isn't necessarily simpler. Creating complex shapes with the minimum number of points becomes a difficult puzzle, especially when trying to maintain good topology (meaning no triangles, poles, or ngons). There are also times when you simply do not have enough vertices to make the shape you need, or to allow a deforming area to do it smoothly.

Luckily, there is a compromise—modifiers! Work with simple shapes, then let modifiers like subsurf, solidify, and mirror do the rest. I generally use one or two levels of subsurf and a lot of creases to keep edges sharp.

Types of Detailing

Whether you are detailing a boot, a shirt, or an assault rifle, your details are going to fall into one of the following categories. Each type of detail has slightly different properties, and so different considerations when weighting. Understanding each lets you choose the best way to create any given detail. Note that these categories are just the way I have come to view things. I don't know if anyone else sees them like this, but I find it helpful to break them down this way.

Extruded

Extruded details are generally created with the Extrude tool, but could also be made by duplicating faces and then filling in the gaps between them and the base mesh, or by joining a whole new mesh shape into the object and connecting it. The defining characteristic is that they are set off the mesh away from the body, but are still a connected part of the base mesh object.

The ridges at the top of these stockings were Extruded from the mesh, then Shrink/Fattened to make them slightly tapered.

The ridges at the top of these stockings were Extruded from the mesh, then Shrink/Fattened to make them slightly tapered.

Extruding is a simple way to create surface detail. Arrange your base topology into the shape you desire, perhaps adding new loops or sliding edges, then select the faces and extrude. It is the simplest way to create ridges or add the appearance of new layers or volume to an object.

The problem with extruded details is that they require your base topology to match the shape of your details. For example, the ridges I have at the top of Maiko's stockings are extruded from the base cloth mesh. This required the top several loops to be parallel when the corresponding loops of the body beneath are not. In an area like the mid-thigh that doesn't particularly deform, this is no problem. But in areas like the shoulders or hands where there is considerable amounts of deformation, you cannot afford to go changing the mesh to accommodate details without causing problems.

Additionally, you will often want to create details that cannot be easily formed in the base mesh topology without creating triangles, ngons, or poles. You can re-topologize to accommodate your details, or you can use Separated details.

Separated

Separated details are disconnected from the base mesh and then layered over it (often with Shrinkwrap or snapping.) They are not necessarily a separate object, but their vertices are not fully connected to the base mesh, and may have vertices occuping the same position as those in the base mesh (doubles). They can be made in a huge number of ways: duplicating faces and then extruding them, joining a new mesh into your object, extruding and then deleting edges/faces/vertices, etc. The defining characteristic is that they are layered over the base mesh but do not have to necessarily match it's topology or exact shape.

The panels on the boot are Separated, but the ridge on the toe and knee pad are Extruded. This makes the panels easy to select and adjust.

The panels on the boot are Separated, but the ridge on the toe and knee pad are Extruded. This makes the panels easy to select and adjust.

The strength of separated details is that they avoid the issues extruded details have of needing to fit into the base topology. They can also be easier to work with when attempting to make shapes with very specific measurements or proportions (symmetry, non-organic shapes), as it is much easier to build a separate object on its own than to arrange your base topology to have an extrusion form the same object.

The weakness is that they will often have problems staying aligned to whatever base they are placed over. This means clipping or gaps, especially when deforming. You can have situations where you are using a separated detail for an item that, in reality, is not separated (think a patch sewn onto the surface of a piece of clothing.) Generally, these issues can be avoided by using high poly meshes (or turning up subsurf) but that can cause other problems. Luckily, clipping doesn't matter in many areas, or can be hidden (note that Freestyle cannot detect edges formed by two meshes clipping, but more about that in a future post).

You can usually work through these issues, but it can get tedious and cause a simple detail to become a long process.

Inset

The seam down the stockings is Inset, and required the stockings to have sufficient thickness to be made.

The seam down the stockings is Inset, and required the stockings to have sufficient thickness to be made.

Inset details are the same as extruded, except that they are moved towards the body rather than away from it. They include sunken seams, dips, indentations, and anything else that is pulled towards the body within the base clothing mesh. This is somewhat of a relative term, and would not exist if we weren't operating from a base mesh as the starting point. However, I include it as its own category because they need to be treated differently as they raise the problem of volume/thickness. And unlike extruded details, inset ones can't be separated, so they must match your topology.

If your base clothing mesh is skin tight, there is no room for inset details. It is common for simple outfits for low poly, stylized, or toon characters to have no depth or thickness, only showing the outer layer with maybe a few extruded areas. If you want inset details, you need to add thickness to your mesh. Shrink/Fatten or solidify do this easily enough. But then you need to properly fill gaps at edges (that you might just let Freestyle hide normally), maintain accurate thickness across the outfit, and potentially face weight issues from having a thicker mesh. And if you plan to do cloth simulations, it greatly complicates the process (cloth will be covered in a later post.)

Depending on your style, you may be able to avoid actually modeling inset details by using bump maps or texture painting. And if you are not so concerned about accuracy, you can let them clip into the body, as the body will be hidden beneath the cloth by a mask modifier anyway. However, this may look bad from certain angles.

Combined

This boot uses layers of Separated and Extruded details. Room has been left at the ankle for it to bend, but the weights there will need adjustment.

This boot uses layers of Separated and Extruded details. Room has been left at the ankle for it to bend, but the weights there will need adjustment.

Any complex item will likely end up as a combination of the above, with details layered on top of each other. If you want to make a complex shape, build it up as layers of simpler shapes. This will help you keep your topology working well. It will also make it easier to keep track of what weight adjustments will be necessary.

Flexibility

Before you go placing your details, you need to have an idea of how much any given object needs to be able to bend, and at what point(s).

Unfortunately, this is not as simple as comparing your item to a real one. To understand why, consider a big, tall, heavy boot. In reality, they are not particularly flexible. The stiffness of the boot's material may only allow the ankle section to rotate by thirty degrees. However, the ankle inside will likely be able to rotate more than that. This is because there will be wiggle room inside (even on a tight boot), and usually some space for the foot to lift slightly out of it. The ankle of the body is both rotating and translating, and since it also pushes the material of the boot, the boot too is rotating, translating, and deforming in that area. It is a very complex motion that ends with the body being able to strike poses beyond the limit of the boot material's flexibility.

In theory, you could recreate this complex motion. But you can't do it with just vertex weight painting. Weight painting moves vertices based on the rotation of the bones in your rig. If you want complex motions, you would need to add some combination of a clothing rig, drivers, shape keys, and perhaps even soft body or cloth simulation. But for most purposes, we don't bother with this. Instead, we just let things be a bit more flexible than they would be in reality.

The flexibility also needs to be centered around the rig's points of rotation. Again, we encounter differences from reality. In 3D, our rotations occur around points that technically have no size of their own. In the real world, the bending is distributed over the joint.

The end result of all this is that our items need to be more flexible and in a smaller area than their real versions. This is what causes the common problem you see in 3D art of items looking too narrow or pinched at their joints. To lessen this effect, try to keep areas that need to bend as simple as possible. As long as you are careful, simple or stylized characters should not require more than simple weight adjustments to achieve a reasonable range of motion.

Conclusion

This has been a lot of information (and text), but hopefully it will save you from having to figure it all out through trial and error. The next post will explain more about how weights work, and cover copying them from the body and adjusting them.

Next: Adding and Adjusting Outfit Weights

Follow me on Facebook for updates.

Back to Project Maiko Overview