Project Maiko: Creating the Base Bodysuit

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

Part 2: Understanding Outfit Details and Weights

Part 3: Adding and Adjusting Outfit Weights

NOTE: This article contains images of uncovered anatomically correct 3D female bodies. It may not be considered appropriate in some work or school settings.

I have shared what I know about using MakeHuman to create bodies. Now, I will go over the creation of Maiko's outfit. The modeling techniques used were not particularly complex, and there are many tutorials out there that explain how to use Blender's tools to create shapes. I am going to write about the less covered, and more tedious issues of constructing decent topology, and using vertex weights to rig your outfit.

I learned to rig outfits by working with rigged bodies that others have already made. This is a good place to start if you are new to the subject. If you already have experience rigging and weight painting bodies, most of this will already be familiar, but some is specific to clothing.

The method I will show here is to construct an outfit around a rigged body, and then to copy its weights to the clothing. It is not the only way to make this sort of clothing, but it works and is fairly simple. I am writing these tutorials because, while it is easy to find guides describing how to use tools, I have not found much showing actual workflows to follow. I welcome any discussion of other methods, or better ways to do any of the steps I describe here.

This guide assumes that you have a rigged body to work with (MakeHuman recommended), as well as basic knowledge of Blender 2.69's tools and interface. If you are not familiar with a tool I mention, I suggest looking it up in the documentation or on google.

Creating the suit base mesh

There are two methods for getting your base mesh made: copy the mesh from the body, or create new mesh shapes and fit them to the body. I will describe both.

Method 1: Copy the base body

The area to be copied, and the suit enlarged and separated.

The area to be copied, and the suit enlarged and separated.

In edit mode, select the areas of the body where you want clothing. Duplicate them (Shift+D), then slightly enlarge them with Shrink/Fatten (Alt+S) so they are outside the skin. Lastly, use Separate (P) to make them into their own object.

The upside of this method is that it gives you clothing with topology identicle to the base body. This will make it very easy to copy the body's weights to the clothing and have it just work with minimal weight changes. The downside is that the topology for the body may not be appropriate for any detailing you need to do, and so may require rearranging, which in turn can lead to further weight adjusting. You also need to clean the new object, as it will have all the vertex groups, shape keys, drivers, etc, of the object you Separated it from. This is handy in some ways (specifically, you get to keep whatever UV Map your base body has) but I suggest deleting any vertex groups, shape keys, and drivers. If you are using MakeHuman, you also will want to clear the parent (alt+p).

Method 2: Create new mesh and fit to the body

This method is much more free form and open ended, and so my directions cannot be as specific as for Method 1. Create an object such as a cube or cylinder and extrude, scale, add loops, or whatever else you want to expand it around the areas you want your clothing to cover. Then either add a Shrinkwrap modifier to fit it to the body, or turn on snapping and snap the vertices of the new mesh to the base body (snap to faces). If using Shrinkwrap, be sure to set a slight offset to keep the suit above the body (I'm using .001). If you use Snapping, Shrink/Fatten the mesh after to keep it separate.

A box positioned around the body with new loops added and scaled to the rough shape of the torso, then Shrinkwrapped and extruded to start covering the legs.

A box positioned around the body with new loops added and scaled to the rough shape of the torso, then Shrinkwrapped and extruded to start covering the legs.

This method allows a lot more control of your topology, but it's also a lot easier to mess up. You can better control the shapes formed by your edge loops and individual vertex placement, which is useful if you plan to extrude specific shapes off this base mesh. This method also makes it easier to have your clothing be lower polygon than the base body. You can of course combine both methods.

For the rest of this tutorial, I will be working off Method 1, but the tools I use to work with it are the same you would use when creating and working with a mesh made with Method 2.

Clean and retopologize the mesh

Now that we have our rough mesh, it's time to start refining it. Perform whichever of the following adjustments are necessary for what you are building:

1: Set up Mirror and Shrinkwrap modifiers

Select central loop with Alt+Right Click, select Side of Active from selection menu, Invert, Delete, Add Mirror modifier.

Select central loop with Alt+Right Click, select Side of Active from selection menu, Invert, Delete, Add Mirror modifier.

For simplicity, select half your mesh and delete it. Using 'Side of Active' in the selection menu with a central vertical loop selected makes this easy. Be sure not to delete the central verticle loop, or you will have a gap. If you are doing an extremely asymmetrical outfit, you may not need to mirror, or may mirror but apply it partway through.

As you make changes to the mesh, the central loop may get moved off center and cause gaps to appear. Selecting the whole vertical loop and using scale restricted to the X axis with a value of 0 will flatten the loop vertically (S then X then 0). Then set the X coordinate of the loop to 0 as well to bring it back to the center.

If you are using Shrinkwrap, this is the time to add it. Note that the Shrinkwrap modifier can sometimes magnet things in strange ways. If you are trying to realign something and it does not seem to be moving, leave it until after the Shrinkwrap has been applied. If you are worried about it causing problems, then limit it to a vertex group, and do not include the problematic areas. If you are doing gloves, I especially recommend removing the fingers from the Shrinkwrap group.

2: Arrange mesh into different pieces of clothing

Suit separated into the different pieces.

Suit separated into the different pieces.

The outfit I'm going for is tall stockings, long gloves, and a shoulderless one-piece. For this step, I am deleting vertex loops to make these different pieces separate. They are still a single object, but have nothing connecting them.

3: Fill holes and fix jagged edges by extruding.

When copying off the body mesh, you can end up with topology that does not easily form the shapes needed for clothing. Deleting sections can leave you with jagged edges and odd spots to fill back in. In my case, it is the area around the shoulders.

To get the final clothing shape you want, Extrude new edges/vertices and move them into place. Using Shrinkwrap or Snap to Surface helps here, as well as Vertex Slide, Edge Slide, and Make Edge/Face. The general amount and size of polygons should be kept consistent with the body to avoid deformation issues (especially somewhere like the shoulders that has complex deforms).

Don't worry if your loops are jagged at this stage, or if some clipping occurs. Shrinkwrap often snaps your vertices slightly off from where you want them. We'll clean that up next step, or you can use a vertex group to avoid them as mentioned above. The point of this part is to fill out the rough shape of your outfit while avoiding creating Triangles, Poles, or Ngons. These can cause deformation problems and visual glitches like pinching when subsurfed.

Shoulders before, and after filling them out.

Shoulders before, and after filling them out.

This is one of the most important steps to having your outfit look good. But it is one of those things where the issues do not show up until later. It is easy to be sloppy with topology here, and then you will not realize the problems you have caused until you get to posing and rendering. Spend the time to do this stage right, or you will spend much more fixing it later.

It is difficult to describe the process here or to fully convey it with a few images, and it helps to see it all in action. I suggest looking up some video tutorials or timelapses if you are not already familiar with retopologizing techniques. Search for modeling timelapses, or tutorials related to 'Topology', 'Retopologizing', or 'Retopo.'

Here are some that I found helpful:

Blenderella shirt modeling (the rest of the playlist is also great!)

Ralusek's retopology tutorial/workflow

Stocking and shorts before and after adjusting edges.

Stocking and shorts before and after adjusting edges.

4: Straighten edges

My Shrinkwrap's snapping is getting in the way of me properly aligning all my shoulder area topology, but before I apply it, I'm going to fix the angles at the edges of the stockings, gloves, shorts, and collar. The LoopTools addon's Flatten is very handy here, as well as using Scale restricted to one axis to flatten them (these two tools achieve different results). Since Shrinkwrap is keeping distances consistent from the body, I can also use rotate without messing things up.

I wanted to get the edges right, but not interfere with the topology around the knee, as that area needs to deform. I selected the top loop, turned on Proportional editing (restricted to Connected and small enough to only reach down a few loops), then scaled it on the Z-axis, rotated it slightly forward, and Flattened it with LoopTools. Same method for the shorts, but with a smaller proportional edit area.

5: Clean up jaggedness

The shoulders after cleanup.

The shoulders after cleanup.

Now it's time to apply the Shrinkwrap. Clean up any jagged vertex loops by using Snap to Mesh while moving individual vertices. Use Edge/Vertex Slide, Smooth Vertex, and Flatten and Relax from the LoopTools addon to help fix larger areas (it takes ages to position every individual vertex by hand.) If you snap any points to the body, be sure to Shrink/Fatten them after to keep the suit above the body.

This is a good time to double check your outfit's center line to make sure it is mirroring properly. Also check for any problems left over from the Shrinkwrap snapping to the wrong surface in heavily creased areas, such as between the fingers, legs, and breasts.

6: Remove details of the body mesh

Since we copied from the body, we still have anatomical details like fingernails, nipples, and the belly button. What you need to do to remove them varies. Finger nails can be removed by using Edge Slide to slide unneeded edges into eachother, and then selecting all and Removing Doubles. This is also a good place for the Smooth Vertex tool. Keep in mind that this could cause the area to shrink, so use Shrink/Fatten as needed.

The finger nail loop that I remove, and the finger after Smoothing Vertex on the tip. This also shows the finger problems you can get if you let Shrinkwrap effect them.

The finger nail loop that I remove, and the finger after Smoothing Vertex on the tip. This also shows the finger problems you can get if you let Shrinkwrap effect them.

I'm leaving the bellybutton alone, but the breasts need work. Currently, the suit follows the shape of the body too exactly. But presumably, she's got underwear under it. I want to change the shape of the breast area to look more like this outfit has a bra underneath. MakeHuman models have their bosoms in a natural position by default. Accounting for the adjustments to position made by a bra or other clothing is difficult, but we don't have to solve it all at once. We can use parts of the rig to adjust their position later. For now, use Smooth Vertex a lot to make them less pointy. The next step will solve most of the remaining problems.

7: Enlarge in appropriate areas

Before and after loosening around the chest and groin.

Before and after loosening around the chest and groin.

This suit currently has no thickness and fits too closely to the body. In reality, it ought to be at least two millimeters thick, and even more in some areas. Enlarge the suit with Shrink/Fatten, but do not do it the same amount in every area. In some areas like the fingers, too much enlarging will cause clipping. I am leaving the fingers alone. There isn't much concern about clipping on them because they were copied from the base mesh and have not been altered except for the fingernail removal. In areas that should be looser, enlarge it by more, and use Smooth Vertex to remove contours of the body underneath. These should include around and under the breasts, the groin, and the shoulders if your outfit covers them.

There will be a gap left between the suit and body. How this should be fixed depends on the sort of clothing you are making, and will be covered in the Detailing section of this guide.

Conclusion

The base suit is now setup and ready for detailing. It may not look much different from when we first copied it off the body, but the changes made to the topology and structure will make a big difference in the end. This whole process looks long when written out like this, but the entire thing can be gone through in a few minutes. And the more careful we are at these foundation stages, the less problems we'll have later.

Next: Understanding Outfit Details and Weights

Follow me on Facebook to receive updates.

Back to Project Maiko Overview