The Maya Journal: Modeling Thrusters, Hoses and Shoulder Guards
In the last installment of the Maya Journal, we modeled the basic shape of the mech's torso. We used nurbs surfaces to build a windshield and polygon primitives to build the torso's basic shape. In this article we will continue modeling the torso by adding some rocket thursters on the mech's back (he's got to be able to fly!), some hoses that fuel the thrusters, and finally a shoulder guard.
During our modeling process, we will learn the difference between world and local spaces and how to use the extrude and bridge functions to help fill in gaps in our models. These functions can help you save valuable time and effort.
World and Local Axes
At this point in our mech project, you should be familiar with the world space within Maya and the x,y,y coordinates that correspond to width, height and depth. World space within Maya is the virtual space that mimics a real world three-dimensional coordinate system. However, there's another type of space that's important when modeling objects. It's called local space and it bases its directional coordinates on selected objects. It's an important distinction 2D artists need to understand to successfully translate objects in a virtual world.
A finished model is usually made from multiple objects. For example an object like a bicycle would be made out of at least two wheels, a frame, and handle bars. All of these separate objects would then make up the larger object, the bicycle. Easy enough, but we must understand that these smaller objects also have their own local space. If we were going to animate this hypothetical bicycle, we would need the wheels to rotate on a central point along the X axis (horizontal) just like a real wheel rotates on a horizontal axle. The bike's frame would then move smoothly along one direction as the wheels rotated forward.
Here, the wheels' rotation exists in local space while the entire bike moves in one direction within world space (along world coordinates). Therefore, both the wheel and the bike need different spaces as references for their movement. The handle bars would also have its own local space because it would need to rotate left and right along the Y axis. As you've probably guessed both the handle bars and the wheels would also need to rotate identically along this Y axis. When you rotate the handle bars left, the wheel turns left, and so on. You must keep this in mind when working with such an object, whether it's moving, rotating or scaling it.
I'll provide a more relevant example using a 3D sphere in Maya. In the image below, I've created a basic polygon primitive sphere and selected 6 of its faces to extrude (i.e. extend). I will do this within both the world and local space to illustrate the difference results.
First I will extrude along the local axis.
Notice how the faces (which are already at an angle) have extended at an angle upwards and out. This is because extruding them in local space means Maya is using the actual object (i.e. the sphere) as a reference point for what direction and size to take these 6 faces. It's calculating based on where the faces are placed on the object itself. Now I will extrude the same 6 faces, but this time use the world space coordinates.
Now the extrusion moves straight out from the sphere. That's because it's following the world x,y,z coordinate system. That is, the same system as the grid itself follows.
This is why it's so important to know in which space you're moving. Your changes can have very different results. In this installment of the Maya Journal, I will be switching between local and world coordinates at times as I use the extrude function, so the implications of this should become a little clearer. But first, let's talk a little more about extruding.
When we extrude components like vertices, edges and faces (usually faces), we're basically telling 3D programs to build surfaces based upon the size and shape of what we've selected. For example, if I select a face and extrude it along the X, Y or Z axis, Maya will move that face long the axis while also building surfaces that connect it to its previous position.
To extrude a component select it and go to edit mesh>extrude command under the appropriate component (i.e. face, edge, vertex). You can switch between world and local spaces in the viewport. Maya provides an on screen switch near your manipulator that lets you cycle through both.
Not only can you extrude objects outward or inward as in the sphere example, but you can scale them through extrusion. Basically, this brings a face inward or outward, making it smaller or larger accordingly. We will be using scale extrusion when building the mech's rocket thrusters.
Modeling the Thrusters
Let's start getting our extrusion on! Now that we've got the basic torso shape for the front of the mech modeled, it's time to build some rocket thrusters for the back. We'll do this by extruding faces. First, we'll select two columns of faces on the top of the Mech's torso. Start at the front and work your way to about the middle of the back.
Second, engage the extrude faces function (edit mesh>extrude faces). You should see that your manipulator has changed in appearance.
Third, change the local space to a world space by clicking on the switch. Your manipulator should have changed position, reflecting the orientation of the world coordinates. Next, grab the y-axis arrow (not the cube) and drag upward. You should see the entire selection move straight upward along the y world axis. It's helpful to switch to the side orthographic view so that you can translate this extrusion to fit the source image.
Now that we've extruded and formed this ridge line on the mech's shoulder, we can build the thrusters through a similar extrusion process. For this you will want to select a collection of faces on the back mesh that you can extrude to form the actual rocket thrusters.
Forming the thrusters also requires scaling extrusions inward. But the process is basically the same. Something very handy in extrusion and manipulating objects in general is the G key, which is a hot key that selects the last tool or function you've used. For example, after extruding the thruster faces outwards, you can hit the G key and quickly begin to extrude/scale them from the last point you stopped. This is a work flow that's helpful in modeling the thrusters.
We can now select the extruded faces that will form the thrusters. However, we only want to select the two side squares and not the connecting part in between them as in the image below.
Using the extrude faces command, you can select the cube on the manipulator and scale the faces inward to create the thickness of the box. Hit G key again to repeat and make the walls a little more thick. Then repeat, but this time you want to move the faces inward to create the opening in the box. Remember that when you're making corners, as we are here, the more edges you have closer to each other, the sharper your corner will be. A corner made of only one edge will be very rounded, but a corner with three will be much sharper. You want the thrusters' corner to be pretty sharp to appear "boxy".
To add more edges around your corners, you can use the "Insert Edge Loop" tool under the edit mesh menu. This let's you add lines that loop all the way around you model. This saves a lot of time. Below you can see how I'm inserting an edge loop around the outside of a thruster.
After pushing the thruster faces in flush with the back, you can duplicate them and extrude those faces outward past the original box edge. What your going to be forming is another box inside your original one. You may need to do some minor adjustments like rotating the faces to get them to look just right. But don't be too critical at this point in the results.
Finally, you can model those faces in the exact way you did the original box, scaling inward, forming tight edges and finally pushing faces back inward. The result should look something like the image below. Note that only the right thruster has the interior box.
This is what my thrusters looked like after finishing and switching from a low quality display (number 1 key) to a high quality one (number 3 key). I've added some other details in the final image, yours may not look exactly the same. That's okay. As long as you've got the basic shape here, the model will look fine.
We now need to create some thickness around the mech's shoulders. Select the section of faces at the edge of the shoulders and extrude them along the z-axis. Make sure that you include in your selection the bottom of the upper torso as in the image below. After extruding, the shoulders should have a much tighter, more beveled look to them.
Here's the finished torso with the thrusters and shoulder thickness added.
Next, is the addition of some hoses that run from the upper front of the mech torso and connect to the thrusters. They're essentially like fuel lines that run along the top of the shoulders on both sides. There will be a set of two for each side. To model them, we will be using nurbs curves and surfaces.
Modeling the Thruster Hoses
For the hoses, we're going to learn to form an object's shape by using a curve to designate its path and shape. In this case, we'll use CV curves to form the hoses. First we'll choose CV curves under the create main menu. Make sure you've switched to surfaces in your menu set. Choose the CV curve tool and switch to the orthographic side view. Begin the curve by clicking near the front of the mech's upper torso where the hose will connect. Then continue to click along the hose matching it with the arch of your image plane like so:
You can adjust the vertices of the curve the same way you would move any object with the move tools. Switch to perspective mode and adjust the line to run along the side of the mech's body. Remember, we will need to make space for a pair on each side. If you don't see your curve when you switch to perspective mode, it may be at the bottom of the grid, below your model, at point 0,0,0.
Select the curve and make it green, essentially switching to object mode. You can center the manipulator and move it up to the curve where it's easier to see by selecting "center pivot" under the modify main menu. Adjust the curve so that its end goes straight down into both the mech's chest and the top of the thruster.
Now we need a shape to go around this curve and create the tube. To do this we need to pick some geometry, so we'll use a nurbs circle. Deselect your curve and click on it again to select the entire object, not just the vertices. Next choose to create a nurbs primitive circle under the create menu. You probably won't see the circle form because it's at the origin again, below your model. Leave it where it is, but make sure it's selected. Then shift+select the the tube curve so that both are selected and green. Make sure you're still in the surfaces menu set.
Go to the surfaces menu and choose extrude options (i.e. the small square next top the word "extrude"). This should open a dialogue box for extrude options. Make sure all of the settings are like the image below then hit apply:
Your curve should now have changed to a small diameter tube. What has happened is that we've used the curve to create a continuous path for the nurbs circle we created. The result is that Maya has created many circles all along our curve pathway and the result is a tube shape. We can now re-size the tube, changing its radius to make it bigger.
We should now have three objects that make up the current tube: our original curve path, our nurbs circle, and the resultant extrusion we just completed. To make the tube radius larger, you'll want to adjust the size of the circle, not the curve or the extruded surface. Go into your outliner and find the circle and make sure your channel box/layer editor is active. Select the nurbsCircle1 in the outliner and close it. In the channel box you should see under inputs a column for radius. Changing the value in this field will make the circle's radius larger and, thus, the entire tube's radius larger.
You will probably need to adjust the tube a bit more now as it's positioned on the mech, so switch to perspective view and orbit around it to see how it's sitting. To make any adjustments now, you'll need to select the curve instead of the circle. Choose it in the outliner and it should appear green. Then rmb click somewhere off of the model on the grid and you should see the following control vertex option:
Now you can adjust it as we did in the side orthographic view by selecting each vertex and moving it. Make sure each end of the tube extends far enough into the chest and thruster to hide them.
Now that we've created a curve, we can duplicate it and move it over to form the second tube. Make sure the curve is selected in the outliner and hit ctrl+d key. You should see a second curve in your outliner. Move the curve over and position it. To build this tube, we simply follow the same steps. Select the curve2 and create another nurbs circle and choose extrude. Again, you should see a small tube form where your curve was. Re-size it in the same way.
Modeling the Shoulder Guards
Instead of building a separate piece of geometry from scratch, we can extrude from our mech shoulder to make a shoulder guard. Select the faces underneath the torso at the edge of the shoulders. You probably don't want to select every face. This would make the shoulder guard rather big. After you've selected the faces, duplicate them under the edit mesh menu. Find the duplicate in the outliner and select it. Then hit shift+P key, which will remove it from the hierarchy it's in and make it a separate object. Then you can select the edges only and begin extruding them in the world axis, straight out from the body. Switch to front view and begin to shape the extrusion along the mech's image plane.
Note: I had a lot of difficulty with this edge extrusion. I finally figured out that after I duplicated the faces and removed them from the hierarchy, I was selecting the original faces instead of the duplicated ones. This mistake caused many problems, so be aware of this and make sure you select the duplicate's edges not the ones that are a part of the mech's torso.
Bridging is similar to an extrusion, but instead of using the manipulators, you select two edges that you want to connect. Then you can "bridge" the gap between them by building polygons that connect them. We will need to use bridge to form the remainder of the shoulder guards. To do this select both edges for each end of the shoulder extrusion. Then under the edit mesh menu, choose bridge options (i.e. small square box) from the edges section. Set the option as indicated below and hit bridge.
A horizontal row of polygons should have run in an arch from one edge to the other, filling the gap between them. Next, pull out the new bridge part and shape it to fit the should guard in the side view.
Now this next part can really screw you up if you're not careful. After you've formed your bridge piece along the reference image, you're going to want to select the edges inside the piece and extrude again. However. it's important that you make sure you have the same number of edges on the top extrusion as on the bottom bridge piece. In the image below you can see that I've selected 4 edges on the top and 4 edges on the bottom. Also I have left the last pair on the left and right in the corners un-selected.
You must have the same amount of polygon edges or the bridge will not work correctly. If you need to subtract a face or two from the bridged connection, just delete them and use the merge vertex tool under the edit mesh menu to connect between the openings. When you have the edges selected, go to bridge and set your divisions to 1 and apply the bridge. The result should form the shoulder guard's top. Notice since I selected four different edges, I have four different connecting lanes running from end to end. The number is really irrelevant, as long as they're the same.
The two remaining holes can be filled in by clicking all of their sides and choosing the fill command under the mesh menu. You can hit the number 3 key and smooth out the shoulder guard to see what it looks like.
Next, select the entire shoulder guard and extrude along the z-axis to provide some thickness to it. You may want to insert some edge loops around the edges of the guard to make the edges a little sharper. This is how my shoulder guard turned out.
In this installment of the Maya Journal, we've looked at the difference between world and local axis. We've also learned how to use the extrude and bridge functions to quickly fill in gaps for our models. All of these concepts are essential to become an effective 3D modeler. In the final installment, we'll be modeling the arms and legs, which will complete the mech's basic anatomy.