Creating A Low Poly Ninja Game Character Using Blender: Part 2
In the second half of Karan Shah's epic Ninja tutorial, you'll learn a couple different methods of unwrapping the character using Blender's intuitive UVMapping tools. You'll first learn how to mark seams and unwrap the character using mirrored or symmetrical Uvs. A fantastic time saving approach, ideal for use on game characters where texture space and resolution can become an issue.
Karan will then show you how to approach unwrapping the character using an a-symmetrical workflow and how to give specific parts of the model "unique" texture space. You'll also learn how to create a uv layout to aid in texture painting, and how to bake out an Ambient Occlusion map to help add depth to your textures. Finally, you'll finish things up by applying the texture to the character back in Blender.
Additional Files/ Plugins:
We will continue using the mirror modifier. Select the model by Right clicking, press TAB to enter into edit mode.
Make sure that you have either Vertex or Edge Selected in the Mesh Select Mode. Press Ctrl+Tab to choose or click on the button in the 3D view's menu bar. Select the row of vertices on the lower neck using Alt+Right click, or hold Shift and then Right Click to select multiple edges manually.
Press Ctrl+E and select 'Mark Seam'. The seams are the line where the mesh gets 'unstitched'. Press A to deselect the vertices.
Deselected any vertices by pressing the A key. Move your mouse over the shoulder pad and press L while hovering over it. We see that the group of connected vertices are selected and nothing else. Press H to hide them, as we want them out of view for a while. Also remember to save your file often.
Select the edge loop on shoulder as shown in the image below using Alt+Right Click. Press Ctrl+E and mark them as a seam.
Similarly Mark the edge loop at the center of the wrist.
Now select all the vertices/edges of the inner arm from the shoulder seam to the wrist seam. Press Ctrl+E and click on Mark Seam.
Select the edges loop at the end of the glove. Press Ctrl+E to Mark them as a Seam.
Select the lower edges of the hand so that the seam divides the hand into two parts. Do not select the edges on the back side, as shown in the image. This will keep the hand in one piece. You will understand this later when we unwrap it. Press Ctrl+E again to mark them as a seam.
Select the bottom faces of the spikes on the glove and press Del to delete them. The bottom faces are extras and can be deleted so save the poly count.
Select the edges of the spike and mark them as seams.
We will now create a seam to separate the pants and upper body. Select the loop around the waist as shown in the image below, and mark it as a seam.
Similarly make a seam around the ankles. This way we will be able to separate the shoe.
Mark the in-between edges of the legs as a seam (just like a pair of trousers are stitched.)
We will also separate the sole with a seam. Now we have all the necessary seams marked.
You will notice that we didn't mark the side corner edges (see the following image) as we have in our clothes. This is because we already have a seam on the other side - the center, as the mesh is in half. The other half is generated by the mirror modifier.
We can take advantage of this mirror modifier for UV unwrapping and texture painting for Symmetrical models with a symmetrical texture. Also Try to practice UV unwrapping different basic objects like cylinders, etc. to understand how and where to mark seams. This is generally gained through experience and problem solving.
Press Alt+H to unhide the shoulder pads. We don't need to mark seams for the shoulder pads, as they are already an open group.
Press Ctrl+TAB and select Face select mode. Mouse over any of the faces on the leg and press 'L'. You will see that only the group separated by the seam is selected. This works only with Face select mode.
If you press 'L' to select a group in Vertices select mode, all connected vertices will be selected despite any of the seams. Hover over the head and press 'L' again to check. If you get any extra faces selected, then the seams are not properly closed. So recheck them from all views. Move you mouse over the selected group and press SHIFT+L to deselect it, or press A to deselect/select all.
Move the mouse over the 3D view's top right corner and drag to split the view into two.
Click on the left most icon, in the new 3D view's Header (located at the bottom of the view), to bring out the Display Type Menu, and then select UV/Image Editor.
Now we will start unwrapping the mesh. We can do this either by selecting the groups individually and then unwrapping them, or we can unwrap the whole mesh at once. We will practice both. Press A to deselect any vertices or faces. Press Ctrl+Tab and select Face select mode. Move the mouse over the head and then press 'L' to select only the head group.
With the head group selected, press 'U' to bring up the UV Mapping Menu, and Select 'Unwrap'.
You will see that the Head (half/side) is unwrapped on the UV area in the right viewport. We see only one side of the head unwrapped, because the other side (right) is being generated by the mirror modifier. Just like editing the points on one side of the mesh, is mirrored on the other side, similarly, painting on one side will also be mirrored on the right side.
You can go ahead unwrapping individual groups separately like this, or you can unwrap the whole mesh at once. Press A to select all the faces of the mesh and then press U to bring up the Unwrap menu, and then click on 'Unwrap' to unwrap the whole body.
With all the faces selected in the 3D view, re-arrange all the groups or 'islands' in such a way that they perfectly fit the UV Area. Only selected faces will appear in the UV editor, so make sure you have all the faces / points selected in the 3D view. Commands are as follows -
- Select a group - Mouse over and press 'L'
- Select vertices - 'C' for cursor, 'B' for box select. Right click to select one point, Hold Shift and then Right click for multiple selections.
- Alt+Right Click for Loop select.
- Toggle Select all / Deselect all = 'A'
- Move = 'G'
- Scale = 'S'
- Rotate = 'R'
- Zoom in / Zoom out = Mouse wheel.
- Pan = Shift+Middle mouse button + drag.
- to align vertices = W
To maximize the UV Editor, move the mouse over the UV Editor and press 'Ctrl+Up Arrow'. Press Ctrl+Up arrow to toggle back.
I like to place the head on the top left. Adjust, align, rotate and move the vertices or islands.
Optional: You can further divide the leg into two groups by marking a seam on the upper portion of the knee. I am doing this as we have a clear distinction between the dress and color, above and below the knee. This will be helpful while coloring. You can align the row of vertices by selecting them and pressing W.
So far, this method is useful for objects with symmetrical textures or design. Now we will practice for a non-symmetrical design, as we have an a-symmetrical design on the chest.
First make a backup of the object with the mirror modifier on. Press TAB to get out of object mode. Select the object using Right click and press Shift+D to make a duplicate. Drag the mouse far away and Left click to confirm. You can continue working on either model. Select one and in its Mirror modifier, click on the Apply button. Save your file.
As you can see we have our UV Map intact, but we can see only one hand, leg etc. even after applying the modifier. This is because the UVs for the other side are lying directly on top of the original side.
Now select the side vertices as shown in the image below, and mark them as a seam.
Select the edges / vertices on the shoulder as well (just like a t-shirt) and mark them as a seam.
You can mark the other side of the chest as a seam as well. Or leave it and see what happens while unwrapping.
With Face Select mode (press Ctrl+TAB) press L while hovering the mouse over the front part of the chest. You will see that only that group is selected. If not, then there is some mistake in the marking of the seams. Press U and then Unwrap it.
Do the same for the back if you have made it a separate group. I have selected and rotated the UVs.
Now select all the vertices / faces of the mesh with the A key, and you will see all the UV 'islands' in the UV editor.
Adjust the layout once again. To select a UV island, select any of the vertices using right click or the B or C key, and then press Ctrl+L to select the connecting points or the UV group.
We are now ready to start Texturing. In the UV Editor click on New Image. We will use the default dimensions of 1024X1024.
In the 3D view, press TAB again to get out of Edit mode, and add a plane below the model. This plane will prevent light from coming up from the bottom, and help achieve nice shades to bake the AO data (in the next step.)
There should be some distance in between the model and plane.
Now we will bake the Ambient Occlusion data onto the image. This will add shadow information into the image, giving a nice effect. Click on the 'World button' on the Properties Panel. In the Gather panel, turn on 'Pixel Cache', pull the 'Correction value up to 1 and switch to 'Approximate'.
Right click on the Character model to select it. Open up the Render Panel in the property window. Scroll Down to the BAKE Panel. Select Bake mode to Ambient Occlusion. Increase the Margin to 6, and finally hit the Bake button. In a few seconds, the image will be updated. In the 3D View, Press Alt+Z to view the model with the texture applied. Use Alt+Z again to toggle back to the shaded view.
Save the image, preferably in PNG format.
With the model selected, Press TAB to enter into Edit mode. Select all vertices with the A key. In the UV Editor, click on the UV Menu and select 'Export UV Layout'.
Select the PNG Format and decrease the 'Fill Opacity' to 0.00.
Open the image with the Baked AO data, in your favorite image editor.
In a new layer on top, add the UV Layout we exported in step 24.
Create a new layer in between the Wire and AO layer. This will be the layer on which you can paint the texture. You can create more layers for painting, but keep them in between the Wire and AO Layers.
Paint the texture using the Wire frame as a guideline. Set the paint layer to Multiply, Hard Light or Overlay. You can experiment with the transparency levels. We see that the AO layer automatically gives nice shades to the overall texture. When done, Save the image in .psd format. Turn off the layer visibility for the Wire layer and export it in .png format.
Now back to Blender. In Edit mode, with all the vertices selected, open your exported PNG image, in the UV Editor.
If you don't see the texture on the model in the 3D view, Press Alt+Z to enable Texture View Mode.
In the Materials Panel, scroll down to Options, and check on Face Textures.
Press TAB if you are still in the edit mode. The model is now ready for export or use within blender.
Hope you liked the tutorial. Do let us know what tutorials you would like to see in the future!