In this tutorial I’ll show you how to create a next-gen, game model of an old weathered Boiler, with the help of only one black & white reference image. The tutorial will cover the entire process from Low poly Modeling to High poly Modeling, UV mapping, Textures baking (i.e Normal and Occlusion maps) and Diffuse Texturing. Finally we’ll be applying Xoliul’s shader in Maya for realtime rendering of the model.
Now one important thing to note before starting this tutorial, is that while in Maya, I’ll be using the default Hotbox controls, as this will be very useful to easily access the tools, and it will surely speed up your workflow. At least I hope it will :)
Additional Files/ Plugins:
Now for reference, I only have this one image and nothing else. This happens to a lot of people when they only have a certain image and need to create the whole model from it. So in this tut we’ll learn how to get the proper, if not accurate proportions, and how to use existing shapes to create the complete model.
We’ll start our model with a “Poly Cube”, now in this tut I’ll be mostly using the “Maya Hotbox (pop-up) Controls” and will also be explaining them. So to create a “Poly Cube” (or any other polygon shape,) press and hold down the “Shift Key”, and then Right-Click (and Hold) in the viewport. In the Options box that pops up, drag the cursor over to “Poly Cube” (1) and release the “Right Mouse Button “. This will give you a new cursor marker with a + sign over it, and now you can drag and draw your polygon cube shape as you want it. First draw the base (2) and then drag again to complete the shape (3-4).
Now using the “Move Tool” (W) and the “Scale Tool” (R) , move the cube to the grid (1-2), and scale it to match the shape of the base as it’s shown in the reference image (3-4). As you can see in image 2, the pivot has changed from the center to the bottom, so to correct this, just hold down the “D” and “V” keys (together) and drag the Pivot to the bottom, and it will snap align the Pivot to the lowest vertex. “D” is the hotkey to “Move Pivot”, and “V” is to “Snap Vertex”.
Now duplicate the Cube to make the base for the other side. As they look too thin compared to the reference image, scale them up a bit in the “Z-axis”.
Now create another “Poly Cube” (the same way as before), and this time in the “Channel box” under “INPUTS” – “polycube1″, change the Height to 2 and place it just above the grid. This cube is for visual reference only, and we can compare the other proportions to it.
Now again duplicate the base cube and place it on top of the first. With it still selected, click and hold down the “Right Mouse Button” and in the pop up Options, select the “Face” option to enter into face selection mode (1). We can do just the same to go in any listed mode of any polygon shape. Then select the side face of the cube (2) and move it to the other side (3).
Now we need to do some scale tweaking again (1-3). As we don’t have any particular blueprints to follow, we need to look at the model after each step and make sure to proportions are coming around.
Now press and hold the “Spacebar” and then “Left-Click” (and Hold) in the center, and select “Side View”.
Now again with nothing selected, press “Shift+ Right Mouse Button”, hold and select “Polygon Cylinder” (1). Click once to define the radius of the Cylinder, and then drag again to define the Cylinders Width (2). You won’t be able to see it in the side view, so press and hold the “Spacebar” again, “Left Click” and hold to select the “Perspective View” (3).
Select the Polygon Cylinder, press and hold down “X” and move it in the “Z-axis”, you’ll notice that it will only move incrementally (This is because of the “Snap To Grid” option (X.) Accordingly snap align it with the center grid origin, and then Scale it uniformly to get the rough proportions. Increase the width by Scaling the Cylinder locally in “Z-axis”.
Now according to the Cylinder, it’s time to do some proportional tweaks again. Select all the base cubes and Scale them locally in “X-axis” only. Next select only the 2 base cubes, and change their pivot by using the same combination of keys “D” + “V” as I’ve explained in an earlier step. And then scale them locally in the “Y-axis” to increase the height.
Now select all the meshes and press “Ctrl+G” to make a group of every selected mesh, and then snap align the pivot to the lower most vertex of the base cube (1). Next select the Cylinder and go to “Edge” mode by holding down the “Right Mouse Button” and selecting “Edge”. Select any horizontal edge and press “Ctrl” and the “Right Mouse Button”, hold and move over to “Edge Ring Utilities” (2). This will open another set of sub-options for it, and then move over to “Edge Ring and Split” (3) and then release the “Right Mouse Button”. You’ll notice a split edge loop exactly in the center of the edge ring (4).
Now go back to “Object Mode” by holding down the “Right Mouse Button” and selecting “Object Mode” (1). Then select the cylinder, press “Shift”+ “Right Mouse Button”, hold and move over to “Insert Edge Loop Tool” (2), then click on one of the horizontal edges near the corner edge loop, and it will draw a new edge loop as shown (3).
Now select any horizontal edge of the enclosed ring and using “Ctrl” while holding down the “Right Mouse Button”, move over to “Edge Ring Utilities” (this will pop open another set of sub-options) move over to “To Edge Ring” (1) and release the “Right Mouse Button”, this will only select the complete edge ring. Then with the same selection press “Ctrl” and hold down the “Right Mouse Button ” and move over to “To Faces” (2) (while still holding the “Right Mouse Button”), and from the new pop up sub-options, move over to “To Faces” (3) again and release the “Right Mouse Button”. And it will convert the selection of edge ring to faces.
Now with the same face selection, press “Shift” and hold down the “Right Mouse Button”, select the “Extrude Face” option by moving over it and releasing the “Right Mouse Button” (1). Now extrude the faces out to create a border (2). Next select the side edge loop by double clicking on any of it’s edges, and it will select the complete loop (3).
Now select the cylinder mesh and click on “Make Live” (1) and it will make the mesh “live” (this will allow you to draw any other mesh over it). Now again with nothing selected, press “Shift” and hold down the “Right Mouse Button” and select “Poly Sphere” (2), create the sphere over it by dragging with the “Left Mouse Button” (3).
Now select the Sphere and by pressing “V” move it locally in the “X-axis”, and it will snap align it to the center vertex of Cylinder (in the “X-axis” only)(1.) Repeat the same thing while moving it in the “Z-axis” (2), then move it a little bit inside the Cylinder, and scale it up a bit to keep the border width the same (3-4).
Now change it’s pivot to one of the edge loop that is nearest to the the Cylinder surface by pressing “D” and “V”, and moving the pivot in the “Z-axis” only (1), and then snap align it with the Cylinder surface (2). Scale it up a bit and then Scale it down locally in the “Z-axis” to lower the width of the Sphere (3). Now go to “Face” selection mode and select the faces that are intersecting with the Cylinder and delete them (4).
Now select the other half of the faces of the Cylinder (while in “Face” selection mode)(1) and delete it (2), as we’ll mirror the whole thing when done. Next select the Sphere and make it live by using the same “Make Live” option (3).
Now first deselect the Sphere by clicking anywhere in the viewport (except on any geometry) (1). And click “Make Live” again to undo the still “Live” Cylinder (2). Then again select the Cylinder and under “INPUTS”, select the “pSphere2″ and change all three “Rotation” values to 0 (3) , Then give it a value of 90 in “Rotation Z” (4).
Now move the Sphere to right side of the Cylinder, and scale it up a bit (1). Then change it’s pivot by pressing “D” + “V” and snap it to the side center vertex (2). Then snap the Sphere to the side vertex of the bigger Sphere. and scale it up a bit too (3).
Now select the 2 upper most edge loops of the small Sphere by double clicking over any one edge, and do this again on the other edge while pressing “Shift” (1). While keeping the same selection, press “Shift+Right Mouse Button” and move over to “Delete Edge” (2) and it will delete these 2 edge loops. Now go to Vertex Selection Mode and select the center vertex (3), and by pressing “V”, move it in “X-axis”. Snap align it with the 2nd edge loop to make the surface flat (4).
Now select the first edge loop by double clicking over any edge, and pressing “Shift+Right Mouse Button “, hold and move over to “Soften\Harden Edges” while still holding the “Right Mouse Button” (1). This will popup another set of sub-options, move over to “Harden Edge” and release the “Right Mouse Button” (2). You’ll notice the new hard edge. Now scale the Sphere up a bit (3) and go to Face Selection Mode, select the faces on the back half of the Sphere and delete them (4).
Now Duplicate the Sphere and change it’s pivot to the other end vertex, and snap align it to the left center vertex of the bigger Sphere (1). Now select the faces on the right half of this Sphere and delete them (2)(3).
Now select the open edges of the right side (1) and press “Shift+Right Mouse Button” , hold and select “Extrude Edge”(2). Extrude the edges locally to the right in the “Z-Axis” (3). Snap align it with the Sphere’s center by pressing “V” while moving. Finally change it’s pivot to the center of the extruded surface by pressing “D”+”V” and moving the pivot towards the center vertex, by pressing the middle mouse button (4).
Now with the same Sphere selected, press “Shift+Right Mouse Button”, hold and move to “Mirror Polygon”. From the new options popup, select “Mirror -Z”(1), and it will mirror the whole object to the other side (2). Now select the loop of vertices on the left side (as shown) and press and hold “W+Left Mouse Button” to access the Move tool options (3). From it, move over “Select” and then to “Soft Select” (4).
Now you’ll notice a colored selection of vertices (for now it’s only the selected vertices) (1), so press and hold “B” and “Left Mouse Button”. You’ll notice a circle appeared in the viewport (2), now move the mouse to the left and right while still holding the “Left Mouse Button”, and it will change the size of the circle and the size of the “Falloff” of the soft selection. So increase it to an extent so it will affect a little bit of the 3rd edge loop (3), and then move the selection a little bit to the right (4).
Now select the center ledge loop of the mesh and press “W+Left Mouse Button”, hold and turn off the soft selection again by selecting it (1). Now press “R” for the “Scale Tool” and then press and hold “R+Left Mouse Button” to popup the Scale tool options. From these, select “Snap Scale” (2) and you’ll be able to snap scale the vertices in any particular axis. Now scale all these vertices in the “Z-axis” only, and it will snap them straight in the “Z-axis” (3). And then using the “Move Tool” + “V”, snap align them with the Cylinder’s center vertex (4).
Now select the 2nd edge loop, except for the upper and lower edge (as shown) (1), and move it out a bit in the “X-axis”. Then select the 3rd edge on the flat surface and press and hold “Ctrl+Right Mouse Button”. Move over to the “Edge Ring Utilities” (2) while still holding the “Right Mouse Button”. This will popup another set of sub-options. Move over to “To Edge Ring and Collapse” (3) and release the “Right Mouse Button”. The whole ring will be collapsed, as we don’t need that many polys there. Now select the bigger Sphere and in “Edge selection” mode, select the middle edge and repeat the same process to collapse that ring too (4).
Now mirror the front mesh (just as we did earlier in Step 26). Then select the rear Sphere first and “Shift” select the mirrored geometry, press and hold “Shift+Right Mouse Button” and move over to “Booleans” (while still holding the “Right Mouse Button”). This will popup another set of sub-options, move over to “Union” and release the “Right Mouse Button” (2). This will merge the 2 selected meshes and create a new fused geometry, which you can see is pretty messy with how it merged all the edges (3), so we need to clean them up for sure, so select all the faces in “Face” selection mode and deselect the upper half quarter of the complete geometry (4), and delete it.
Now first the reason for leaving only the upper quarter of the whole geometry is because, as all of you have probably noticed. It’s actually symmetrical on all 4 quarters, so we can work and improve only one quarter of it. (then mirror it twice in the “X” and “Y” axis, once we are satisfied with our geometry). This will save us a lot of time as well. Now to start cleaning up the mesh, select the open vertices (1) and start snapping them to the closer ones, using”V” and the “Middle Mouse Button” while dragging (2-3).
Now select all these snapped vertices and press and hold “Shift+Right Mouse Button ” and move over to “Merge Vertices” (while still holding the “Right Mouse Button”) (1), then move over to “Merge Vertices” again (2) and release the “Right Mouse Button”. All 3 vertices will get merged into one vertex (3). Then using the same “snapping” and “merging” procedure, achieve the result shown in the last image (4).
Now do the same merging of the open vertices and clean up the mesh as shown.
Now press and hold “Shift+Right Mouse Button ” and move over to the “Split Polygon Tool” (while still holding the “Right Mouse Button”) (1), then release the “Right Mouse Button”. Then using this tool, connect the open vertices by dragging and joining them with the edges (2). And then again kill the open unused vertices by snapping and merging them to the used ones (3-4).
Continue on with the optimization of the open vertices (1-2). Then go to “Edge” selection mode and select the division edge of the rear and upper mesh (3), make that edge loop “Hard” by using “Harden Edge” from the “Soften/Harden Edge” menu (as shown in Step 23). You’ll notice a strange smoothing issue with the edge loop, this is because the vertices are not merged there. So go to “Vertex” selection mode, select the vertices around that point and merge them using “Merge Vertices”(4).
Now further optimize the mesh by “Collapsing” the selected mesh, then move the vertex to adjust the shape. Also check it in perspective to have an idea of what it looks like form a different point of view.
Now connect the open vertex using the “Split Polygon Tool”(1). Then move the vertices to improve the topology as well as the shape (P.S. The grey colored “Move” gizmo shown is the previous location of the selected vertex, and the colored one is the new moved location) (2-3). Then select the lower edge and delete it (4).
Now using the “Split Polygon Tool”, create an edge loop connecting the open vertex to the upper vertex (1-2). Then move the shown vertex a little bit to the outside, so it can support the curvature of the edge loop (3). Then select the edge shown in last image and delete it (4).
Now some little movement tweaks of the vertices to achieve the proper curvature of the shape(1-3). For that always look at the shape from different perspectives, so that the curvature can be same seen from any direction. Then connect the open vertex to the lower one using the “Split Polygon Tool” again (4).
And now to improve the smoothing issues. Select the modified edges which are set to hard by default, and smooth them using “Soften Edge” from “Soften/Harden Edges”. Then merge the vertices which are having any smoothing issues.
Now select the 2 edges shown and delete them (1). Then select the lower open vertex and move it a little backwards to have a better topology (2-3).
Now select the mesh and mirror it in the “-Y Axis” first (1), and then again in the “-Z Axis”, and you will have the complete shape (2) .Then select the all 4 center edge loops (3) and make then “Soft” using “Soften Edge”.
Now we’ll fix one thing that’s left, the N-Gons. (Faces with more than 4 sides, which are a big no-no in most game engines). We’ll fix them simply by using the “Split Polygon Tool” on all four sides (or you can do it on one side and then mirror the fixed side to all four quarters again).
Now select the vertices on half of the circle and move them towards the center (1), then do the same thing with the other side (2) (if you have a closer look of the reference image, the center part of this shape is a proper circle and it’s broadened at the end), so this tweak will give us the exact same feel. Then select the 2 vertices shown on both sides (3), and the same ones on the lower section, move them a little out to give it a more smooth curvature (4).
Now snap align it’s pivot to the center of the base surface of the Cylinder (1), and then locally scale it in the “X-axis” to make it a bit bigger (2). Then select the 3rd edge loop on the surface of both sides (3), and scale them locally in the “X-axis” to broaden them up a bit (4).
Now select the 3rd edge loop (except for the connecting edges to the hard edge loop) and scale them locally in the “X-axis” (to make them straight). Then snap align them locally in the “X-axis”, along with the connecting vertex of the hard edge loop. It will make the whole loop on both sides a straight line, and it will support good topology. Then scale them out a bit locally in the “Z-axis”.
Also repeat the same procedure of the previous step, with the 2nd edge loop.
Now one thing is pretty noticeable. The curvature of the shape is a bit pointy from the bottom and top (or 3/4th view), so we have to increase the resolution of the mesh a little bit to have a good smooth shape. For that, create a new edge loop using “Edge Ring and Split” from the “Edge Ring Utilities” (as shown in previous steps). Then scale it locally in the”Z-axis” to broaden it up a bit, and also scale it locally in the “X-axis” until it becomes straight. Then move it a bit out in the “X-axis”, so it can support the curvature.
Now select three quarters of the mesh and delete it again (1). Select the vertices of the 3rd edge loop, and one by one, start pushing them back while maintaining the curvature and keeping an equal distance from both of the edge loops (2-4).
Now select these pushed vertices (1) and scale and straight them up locally in the “X-axis”, then move the upper left vertex a bit upward in the “Y-axis” (2) and we’ll have our smooth and clear curve (3).
Now mirror the geometry in the “-Y axis” first, and then again in the “-Z axis”, and you’ll have the complete shape. Then select all the 4 center edge loops and make then “Soft” using “Soften Edge”. We now have our proper side shape with enough resolution.
And here is our Low poly model of the base. (Quickly combined and mirrored in “-X axis”)