As previously discussed, models taken from video games aren't the same physically as they are visually. They look smooth, have a ton of detail, and seem like the perfect model to print for your costume, and then you download it and find a sharp, basic, and much too simple model to even consider your finished model. You aren't quite ready to make the commitment to noxious chemicals and respirators you would need to use Bondo body filler, but with this method, you won't have to.
Tyler introduced me to the free 3D modeling program Blender, something he had experience using when modifying Pepakura files for his Iron Man costume. If you've never used any 3D modeling software, don't be discouraged from using it. Before writing this article, I had no experience with Blender.
In order to get your model to a point where you can modify it and have a printable file in the end, follow steps 1-7 of How To Bring Video Game Characters To Life, then follow these instructions.
Step 1: Import into Blender
- Delete all the objects in Blender's default scene, this includes a camera, a light source, and a cube. The easiest way to do this is to press "A" until everything is selected, then press "X" or "Delete" to delete them.
- To import your mode, STL or otherwise, find it in the following drop down menus:
Step 2: Navigating in Blender
Here are the basics of getting around in Blender:
- Drag + MMB (Middle Mouse Button): Rotate view
- Shift + Drag + MMB: Pan view
- Scroll Wheel: Zoom in/out
- RMB (Right Mouse Button): Select an object
Step 3: Center the Objects
When your model is imported, odds are it isn't near the center, so let's move it closer.
- Select the group by right clicking on it.
- Move it to the center by dragging the arrows on each axis. (Blue circle).
- You can also move things by pressing G.
- To make things easier, you may want to reset the object's origins. To do this, go to Set Origin > Origin to Geometry. (Cyan box).
- At this point you will probably also want to save the model with Ctrl-S
Step 4: Separate Objects
Some 3D models or game models actually have multiple pieces as the same object. When you import them into Blender, they all come together as one group. We need to separate them in order to work on them individually.
- Select the group and switch to Edit Mode (Yellow Box).
- Press "A" until nothing is selected, then right click on one piece to select one of its vertexes.
- Press "Ctrl-L" to select the entire piece (all linked vertices).
- Press "P" then choose "Selection" to separate that piece from the the group.
Step 5: Thicken
Like I mentioned in the first article of this series, game models, Pepakura models, etc, aren't designed to be 3D printed, so they are only a surface model. They have no thickness or volume and there is not actually anything to print.
The easiest way to add thickness to a model is to use the "Solidify" modifier.
- Select your object, then go to the Modifiers tab of the Properties editor.
- Click "Add Modifier" and then choose "Solidify" from the Generate section (Blue box).
- Increase the thickness to however thick you desire. 3.0 is a good starting point.
- If you want to make these changes permanent you can hit "Apply." This is not necessary though, and leaving it as it is will allow you to edit the modifier later.
Step 6: Extrude (Optional)
You might find some models that are tubular and need some thickness, such as Iron Man's thigh armor. There is an alternative to using the "Solidify" modifier, and that is using "Extrude".
- Enter Edit Mode and press "A" to select everything.
- Press "E" to extrude. This will make a copy of the mesh that is linked to the original around the edges. You can move this copy around with the mouse, but in this case we want to keep it in place, so press "Esc."
- Press "S" to scale down the copy. We want to make this the inside surface.
- We want the inside to be just as tall as the outside, so press "Shift + Z" to tell Blender no to scale along the Z axis. Conversely, you could press Z if you only want to scale along the Z axis. The same can be done for the X and Y axis.
- Move the mouse until the tube is the right thickness, then press "Esc" when you are done.
Step 7: Splitting Hairs. Or Helmets
You may want to split models into multiple pieces. For instance, if you want to print sections in different colors or if the whole piece is too large for your printer. In this case I might want the helmet split along the faceplate, the visor, the main body, and the back panel.
- We need to select the line where the cut will be made. Select one edge and then keep selecting more using "Shift" or "Ctrl." (Figure 1).
- Holding Ctrl makes it easy by selecting the shortest path between the first line and the next you click on. (Figure 2).
- Press "V" and "Esc" to rip the mesh along the line you selected.
- Press "Ctrl + L" to select the entire linked section, then move it away from the rest.
- Press "P" to ungroup it from the original. (Figure 3).
Step 8: Clean Up the Mesh
Before we smooth the model, we need to make sure that by this stage it's printable. A 3D model has what is called "normals" and these determine which side of a face is the inside and which is the outside. If these are reversed, it can cause slicing errors.
- Select all then go to "Mesh > Normals > Recalculate Outside." If you see any faces change color slightly, it means they were reversed before. (Blue box).
Now we need to check for non manifold geometry. These are parts of the mesh that either have holes or are intersecting with itself.
- Go to "Select > Select All by Trait> Non Manifold." (Blue Box).
Any parts of the mesh that are now selected have issues. You will need to manually fix these. The best way to fix these problem faces is to delete them outright and reconstruct the area.
One thing that often leads to non manifold geometry is vertices which are very close to each other but not actually linked. To fix these, select all and then go to "Mesh > Vertices > Remove Doubles" (Blue box).
Step 9: Smooth the Surface
We now have a printable mesh, but the main point of this was to make there be less finishing work.
- To smooth things out we are going to use Blender's Subdivision Surface Modifier. Open to the Modifiers tab and then go to "Add Modifier > Subdivision Surface." (Wrench in the Blue Box).
- Set the number of subdivisions ("View" not "Render") to your preference. I find 3 or 4 is generally enough to have a good model. The more subdivisions, the smoother the surface, the more polygons, the larger the file size. (Cyan Box).
Blender's smoothing algorithm will, by default, round off all edges. Even edges you may want to keep sharp. To prevent this, we need to tell it which edges we want to preserve by creasing them.
- Start off by temporarily disabling the Subdivision Surface modifier. You can do this by clicking the eyeball icon.
- Now select the edges you want to crease. An easy way to do this is by going to "Select > Sharp Edges." This will select all edges with a sharp angle.
- Play with the sharpness threshold until it looks like it has most of the important edges. It does not have to be perfect as we can add or remove more in a moment. This is a good starting point before manual selection.
- If you have edges marked "sharp" that you don't want selected, while holding "Shift" click on them to deselect them. If you have edges that aren't selected that you want creased, hold "Shift" and click them to select them.
- Crease the edges by pressing "Shift + E" then type "1.0" and press "Enter"
- To uncrease an edge, you would select it and type "-1.0" instead
- Unhide the modifier to see how it looks, then go back and crease/uncrease more edges as needed.
You can now say you have experience using Blender and that you cleaned up and made a model even better. The more you tinker with Blender, the more details you can add to your model.
With a lot of trial and error, I was able to add in the ear channels and the cheek divots, which for a first time modeler was a challenge. I won't be going into how to do it, but in the briefest terms, I modeled the shape I wanted subtracted from the helmet, positioned it how I wanted on one side, mirrored it, and Boolean subtracted it from both sides.