Creating game assets in 3ds Max
Veteran environment artist, Andrew Finch, shows you how to create game
assets in 3ds Max
The new generation of games is here. With the introduction of new hardware - the PlayStation 4 and Xbox One - boundaries can now be pushed further, and quality and realism have taken huge leaps. Games studios have the hardware available to allow them to push the limits further than before.
I want to give you an introduction into creating a next generation asset. This tutorial will take you through the process of creating a single asset and presenting it in a way ready for your portfolio. You will be guided through the modeling and texturing, and also how to author PBR (physical based rendering) maps which will ensure the asset is ready for the next generation of games. I will be using 3ds Max for the modeling and UVing of the asset.
Step 1: Rough block-out
First we'll use simple 3ds Max primitives such as the box and cylinder to block out the rough shape and dimensions of the asset. Using photos for reference, create the basic shape, but don't go too detailed as this is only a guide. (This is normally referred to as a "whitebox asset".)
Place a 1.8m Biped in the scene for comparison. This is handy if you don't have a blueprint or dimensions to work from, as it gives us a good sense of scale and proportion next to an adult human figure.
Step 2: Refining the basic shape
Convert the box primitive into an editable mesh and use Edge Select to push and pull edges into the basic shape of the main body. Once the basic shape is made, select the two upper edges and Chamfer them to give a rounded edge. (A chamfer is a type of bevel effect.) This is important as it will help catch the light and give a more natural, solid feel to the geometry.
It's important to keep your mesh clean and tidy, so remove any stray edges and use the Cut tool to join edges to the open ends of the polys. To save doing duplicate work, you can cut the mesh in half and apply a Symmetry modifier, which will mirror your edits to the other side of the mesh, making sure it's perfectly symmetrical.
Step 3: Spline modeling
To create more complex geometry, I start by using splines to block out the desired shape. The good thing about using splines is that they're non-destructive, and if you find the shape isn't quite right you can go back down your modifier stack and make edits.
Here I've outlined the support for the crane arm. I used Bezier Curves to get the curvatures to follow the desired shape. Once you're happy with the shape, add an Edit Mesh modifier to the stack, which will give you all the regular poly modeling tools to flesh out the geometry. If you are not happy with the shape in 3D, go back down the stack to the spline and edit the shape.
Step 4: Finalizing the arm support bracket
Continue to add chamfered edges because it really adds a lot to the final look of the asset. On the main support, I add a 0.005cm Chamfer, which is small but will be enough to let the light roll around the surfaces of the metal geometry.
Notice I also add two small upright supports to add strength to this section. It's important to follow real-life engineering and design. Also, when we come to texturing, we can draw in seams where different surfaces meet. This all makes the asset believable and realistic in our final renders.
Step 5: Hydraulic strut modeling
Start off with a basic cylinder primitive and place it roughly in the right place. Apply an Edit Poly modifier and use the Bevel tool to extrude and expand polys, blocking out the rough shape of the strut. I haven't added a lot of geometric detail here because it's not going to be that visible (it's going to be in shadow). I want the materials to do a lot of the work for us, making it look like there's detail when there really isn't. As long as you get the silhouette correct this is all this element needs.
Step 6: Base framework
To model the base framework, create a rectangular spline shape, and use the Snap tools to snap it to the corner vertices of the generator. In the rendering options for the spline, tick "Render in viewport", this turns the spline into a 3D mesh. You have the option to use radial or rectangular geometry; as this is the main support frame, I use the rectangular option. I find using a length of 6.0cm and a width of 4.0cm gives me a mesh that looks sturdy enough. Align the mesh perfectly with the main generator body by adding an Edit Mesh modifier and pulling the vertices into the correct position.
Step 7: Layers of detail
It's best to slowly build up the detail layer by layer. Using the same methods as in the previous steps and duplicating elements where possible, I add more supports to the framework, also duplicating the hydraulic struts and slightly scaling them up. On the smaller body of the generator, I add small hinges along the edge and a handle to lift what will be a hatch. The handle is a simple box with beveled details and softer chamfered edges.
Step 8: The Shell modifier
To model the crane arm, start off with a simple box primitive and get the correct dimensions to match the rough block-out we created in step one. Once you're happy with the size of the crane arm, split the mesh down the centre and delete one side of the mesh; this if for later on, when we add the Symmetry modifier to complete the element.
But first we'll add a Shell modifier, which is a very useful modifier that gives us customizable thickness dimensions. Within the modifier, I set the Inner Amount to 0.04, which will extrude our mesh inwards. Now add the symmetry modifier, completing this element.
Step 9: More layers of detail
Duplicate the hydraulic struts to both sides of the crane arm. Thin cylinders that have been cut in half can be used to give the struts something to fix onto, slightly longer on one side to add a bit more interest. To give the lights something to attach to, model a frame, again following the same rules as chamfering the edges and thinking about how this design would work in real life. You can quickly add bolts by using a flattened cylinder with five sides to give it the common bolt shape. We will add the details at the texture stage, so don't worry if it looks too simple.
Step 10: Adding the lights
The lights are cylinders which have two height segments. Once converted to an editable poly, select one of the edges of the segments and do a loop select, which automatically selects the connecting edges of the cylinder. You can now scale these to the correct shape for the light fixture. Do this again for the back of the light.
The Bevel tool easily adds the indentation for the glass of the fixture. The brackets are boxes manipulated into shape. Duplicate these brackets and lights, but instead of copying them, choose "Instance" - this connects the mesh to the original, so whatever edits you make will be replicated to the other brackets and lights. This cuts down on duplicated work.
Step 11: Modeling the wheel
Create a cylinder with enough sides to give a smooth circular shape. I found 24 segments to be enough. Wheels' polycount can get high, so keep that in mind, but don't go so low that the curved edges start to get flattened out. Select the front-facing polys and apply the Bevel tool. Change the Extrude and Bevel options to model in the basic shape of the tire and the metal hubcap.
Clicking the green + sign on the Bevel tool keeps the tool open and the polys selected, allowing you to work faster. The outer edge of the tire is very sharp, so loop-select the edges and apply a larger chamfer to soften them up.
Step 12: Adding smaller details
The main body of the generator is coming to the end of the modeling phase, and we can rely on the texturing to add the final smaller details. You can see in the image that the finished tire has smoothed outer edges, and I've also added some wheel nuts using the same process as creating bolts. Sometimes it can be hard to decide which details should be in the texture and which should be modeled, as you will find out later in this series, but for now I decide to model in two buttons instead of relying on the texture. I think it benefits the asset if they are 3D.
Step 13: Creating the tow bar
The end of a tow bar has quite an interesting shape where it hooks up to a vehicle. Create a sphere and delete the back facing side, then extrude the open edges and weld them to the corners of an open-ended box. This unusual shape should give off some interesting Specular highlights. The surfaces are also going to be varied in this area, so the shader and textures will play a more important part here than the geometry. The wheel bracket is made with small cylinders bent into shape; as this wheel is only for balance and isn't load-bearing, it can be small.
Step 14: Wiring up the lights
The wire for the lights will introduce a more organic shape to the asset, as up until now it has been very hard surfaces. The wire can also introduce little spots of color to add interest. First, model a junction box for the wires to start from. Then create a spline line starting from the junction box and ending at the middle of the light. Sometimes lining splines up in 3D space can be tricky, so use Snap to Vertex to assist you. Refine the spline by adding more vertex points, so we can meander the wire using Bezier Curve to soften or tighten the curves. Do this for all six lights.
Step 15: Final detail pass
Not only do the lights have wires, but the hydraulic struts need pipes leading to them. Using the same technique as for the wiring, I add pipes running into the back of the generator. Small cylinders are used to cap the ends of pipes and join to the generator. I added a thicker wire that runs into the crane arm, to indicate that it's the main power cable that leads to the lights. This is as much detail as I want to add to the mesh of this asset. We can now move onto the UVing and tidying up for baking.