Week 4 Assessment 1: Still Life

 

Your first exercise is to create a still life scene of a cafe table scene as covered by this tutorial, and extend it to show your own learning and design style.

 

The still life scene will contain a cafe table and chairs as found online at http://www.chair.com/outdoor.html

 

If you wish to model a different table and chair from that site feel free, but make sure you think about how it could be done before starting (as some of them would be quite complex).

 

Modeling the Chair

The first thing we'll make of the chair are the flat bars making up the seat and back of the chair. These need to have round ends, and we'll give them rounded edges too.

 

In your top viewport create a Rectangle Shape (Create, Shapes, Rectangle) of approximately the right proportions (around 1:10). To make the rectangle have rounded ends we need to change the "Corner Radius" value. If you bring that to half of your Length property (the smaller dimension, which depends on how you drew your rectangle) you will get perfectly rounded ends.

 

Currently our shape is just a line, it has no faces or thickness. To give it thickness we could use an Extrude modifier, but then we would need to find some way of giving the edges a nice round bevel. Instead we can use a Shell modifier.

 

In the Shell modifier parameters rollout you have options for Inner Amount and Outer Amount. These two values control the size of the bevel, each giving thickness on one side of the shape. They are called Inner and Outer as the modifier is also used to give thickness to all geometry such as spheres or boxes.

The Shell modifier also has an option for bevelling the edges of the resulting shape. This is great for us, as we can easily give a nice rounded edge to our piece of metal.

 

In the Left viewport draw a spline (Create, Shapes, Line) next to the side of our newly extruded bar, which will be the curve of the edge. I have used just two points, and have used their bezier handles to give the curve. You don't have to be particularly accurate with the size of the curve, as it will be scaled to fit the edge of our bar by the Shell modifier.

 

Once you've drawn your curve, select the bar we made, and in its Shell parameters click the Bevel Spline button, and select the curve. You will have to tick the "Bevel Edges" checkbox to see the result in the viewport. Notice that even if you change the Inner and Outer amount the curve still fits.

 

This bar is nearly finished, the only thing left is to give it some bend so that it is not completely flat. If we try to put a Bend modifier on top of the Shell modifier you'll find that the bar won't bend how we want it.

 

This is because we don't have any segments along the top of the bar; it is all one big face (with about a hundred sides). A single face must be planar, so our solution is just to break that top face up into a number of smaller faces.

 

 

We could do this by editing the mesh and manually putting in cuts to break up that top face, but it would be very time consuming and a real pain to change later. Instead we can use a modifier called Subdivide, which simply divides faces up into smaller faces. In your modifier stack, select the Shell modifier (assuming you still have the Bend on there), and apply a Subdivide modifier. This way it will be below the Bend (if it's above, just drag it below).

 

In the Subdivide parameters we have a spinner for Size. This controls what the maximum distance between two vertices can be (on the new subdivided object), otherwise that face is subdivided more. Drag this spinner to see the change in your viewport due to the Bend modifier (if you can't see the bend in the viewport make sure you have Show End Effect turned on). Don't bring the Size to 0, as 3ds max may lock up on you.

Now you have created the bar for the base and back of our chair. Because we still have the whole modifier stack and every modifier is procedural, we can go back and change any of our orignal parameters later to change the result. To test this out, to back to the Rectangle at the bottom of the modifier stack and change the Length and Width. This will be very useful, as once we've constructed more of the chair we may decide that we need a different size or bend.

 

To make the base of the chair make 5 clones of the bar we just created. Make these as Instance clones, so if we do need to change any parameters it will update on all the bars. Remember to clone an object either hold shift as you transform it (ie move it), or from the Edit menu select Clone.

 

The next step is to put some supports under the two sides of our chair seat, which in reality would be welded or riveted to the bars we just made. In our 3d world we are just going to have the two objects sitting right next to each other (even intersecting a little), because we will never need to view the underside of the chair in enough detail to see that it isn't actually welded. This is a very important part of modeling, knowing how the final object will be used, and so how much detail it really needs.

For our support bars we also want them nice and rounded, so instead of using a cylinder we'll use a Capsule.

 

From the Create tab, select Geometry, then from the dropdown choose Extended Primitive (rather than Standard Primitives). I'm going to use a Capsule, which gives fully rounded ends, but if you still want a flat top but with rounded edges, use a ChamferCyl. Creating these objects is just like creating a cylinder. Once you've made one, Instance clone it to the other side. This way if you want to change the radius later you only have to change it once.

 

 

Next we'll do the leg that also forms the back of the chair, also out of a Capsule. This leg needs to have a bend in the middle where it meets the back of the seat, and also to have a flat "foot" at the bottom.

 

Firstly, create the Capsule. Give it the same radius as the support under the seat, and make it nice and long. Because this leg will be more visible than the support under the seat, we want to make sure it looks nice and round, so increase the Sides to 20. Also, because we need to bend the leg give it some Height segments, 6 should be fine.

 

Apply a Bend modifier to the stack. We want a bend of around 25 degrees, and change the Direction as appropriate (90 degrees for my scene). However, there are two problems. The Bend is along the entire leg, rather than just in the middle point where it joins the base. To fix this we need to change the Bend gizmo and the Bend Limits.

First we'll change the Bend gizmo so that the bend happens in the middle of the leg (where it meets the seat), rather than from the base of the Capsule. In the Modifier stack, click the plus icon next to the Bend modifier, and choose the Center sub-object. Now in your viewport you can move this centre point (which is the centre of the bend). Move it up (Y axis only) till it is level with the seat.

 

 

Now we want to make it so the bend only occurs around this centre point, not over the whole shape. This way we will get a nice kink in the leg, rather than a large soft curve. In the Bend parameters, tick the "Limit Effect" checkbox. Now you can change the Upper Limit and Lower Limit properties to change the area upon which the Bend happens. The Upper limit can only be positive and the Lower limit must be negative. Put the Upper to about 5 and Lower to -5 (depends on your scene scale, my capsule was 360 units tall)

You should see in your viewport that this makes the bend only happen around our centre point, and the rest of the leg is straight, which is what we want.

 

However, if you zoom in on the bend, you'll see that it is a very harsh bend, as there is only one division in our chair leg around the bend point. So while the Bend affect is curved (as we've seen on other objects), there is not enough geometry to display the curve, and it looks very sharp.

To fix this we need to give detail to the area around the bend. We could do this by simply putting the number of Height Segments in our original Capsule up (try this, put it to 200 and see the result), but this would add in a lot of detail where we don't need it as well, which will slow down 3ds max both in the viewports and when rendering..

 


Left: 6 Height segments, Right: 200 Height segments

Unfortunately, to put height segments in manually (ie cuts and sliced) is not a procedural modifier, that is it relies on the geometry before it, and if we go and change that geometry settings the Edit Mesh modifier will not give us the result we expect. However, we'll have this same problem when we try to put a foot on the chair leg, so it is not something to get too worried about.

 

Below the Bend modifier apply an Edit Mesh modifier. This modifier lets us adjust and transform the sub-objects that make up geometry, that is vertices, edges, faces etc. In our case we want to add more detail, we want to add more edges through the faces around our bend. The best way to do this is to actually cut (or slice) the mesh, however this does not work particularly well in an Edit Mesh modifier (it works best on an Editable Poly, which we will look at in future tutorials). Instead, we are going to Chamfer the existing edges we have.

Go into the Edge sub-object mode (either maximize the Edit Mesh modifier in the modifier stack and select Edge, or from the Selection rollout choose Edge, or press the 2 key).

 

Marquee select all of the edges around the ones we want (those horizontal edges.

 

Hold down ALT and marquee select the edges above and below the ones we want. Holding ALT will remove them from the selection.

 

Now we will be left with the edges we want chamfered.

 

In the Edit Mesh rollout scroll down to the Edit Geometry panel. Here we have a button called Chamfer. Click it on, then in your viewport drag the selected edges. You will see this makes another copy of the edges, and moves the two sets away from each other.

 

Do this twice more (without reselecting), creating a total of 8 splits along our chair leg.

 

Now go out of sub-object mode and return to the Bend modifier. Your chair leg should have a nice smooth bend where we want it, without unnecessary detail everywhere else.

 

The next step is to add a foot on our chair leg. We want this to be part of the leg geometry (rather than say a cylinder placed at the bottom), so that we can get a nice smooth transition.

 

This foot needs to sit flat on the ground, so before we can start modelling it we need to know what angle our chair leg is going to be on. Rotate the chair leg back so you get an angle similar to that of our reference picture. I found around -25 degrees on the X axis to be about right.

 

Now we can go in and start moving points around to make a foot for the chair leg. Zoom in on the bottom of the leg, and apply another Edit Mesh modifier, this time above the Bend.

Go into Vertex sub-object for this modifier, and select all but two rows of the vertices at the base of the chair leg. You will find it much easier to select these vertices if you first change the selection marquee from Rectangular to Fence.

 

 

Once you have selected the vertices, move them away a little and rotate so they align flat to where our ground would be.

 

 

 

Scale these vertices in the vertical (Y) axis, until they form a flat plane. This will be the bottom of the foot.

 

Move and rescale the remaining two rows of vertices until you get a result like the screenshot below.

 

Now move and rotate the two rows remaining at the "ankle" of the chair leg to give a smoother transition. Remember you can use Chamfer to add more rows if you want (chamfer the edges though, not the vertices).

 

Now it looks good from the side view, but from the front view we can see the foot is centred about the leg. We actually want the foot to be splayed outwards from the centre of the chair, so grab the vertices at the bottom of the foot and move them out to the side a little.

 

To create the leg coming back from the front of the seat to the back foot, we could create a new Capsule and create a foot on it from scratch. However, then we would have to fiddle about to get it the right length and the foot the same size, when it is simpler just to copy the leg we just made and adjust it.

We want the back foot to also splay out from the middle, so we need to actually Mirror the front foot. From the Tools menu select Mirror (or click the icon next to Align).

 

In the following dialog you can choose what axis to mirror the leg on. As you change this you will see the result in the viewport, choose the one that makes the leg point backwards. Make sure that the Clone Selection is on Copy, since we want to edit this new one we don't want an Instance.

 

Now go into the top Edit Mesh on the new leg's modifier stack, and simply delete all of the faces making what was the back of the chair. Where we have all of the detail added in for the Bend, transform the vertices so it looks like it has a nice rounded end. Of course this part will almost never be rendered, so it doesn't matter if it isn't a perfect curve.

 


Delete these faces (saying Yes to remove isolated vertices).

 


Move, Rotate and Scale remaining vertices to give a rounded end

With the vertices you scale down to make a point we want to join them all up to one vertex, so we don't have a hole in the end.

 

Select those vertices and scale them down (they will all move to each other). Then hit the Weld Selected button in the Edit Geometry rollout. If your vertices are close enough together they will merge into a single vertex, otherwise put the Weld Threshold (default 0.1) up and hit Weld Selected until you have a single vertex remaining (you can see how many vertices are selected in the Selection rollout).

 

 

Now your chair is about finished. Just Mirror the legs to the other side, then clone some of the bars making up the seat to make a back for the chair. Also, create another couple of supports between the legs, out of cylinders or capsules (the ends will be inside the legs, so it doesn't really matter.

 

 

Making the Table

To make the top of the table we'll simply lathe a line. Put some small dips in the top to make cocentric rings on the lathed table top.

 

When you apply the Lathe modifier remember to hit Min or Max (Max in my case), and Weld Core.

 

Making the legs is a bit more difficult. They are similar to the legs of the chair, but instead of having a single bend in them they curve from top to bottom. This would be very difficult to do with Bend modifiers (you would need a separate modifier for each bend in the curve - although feel free to try this as you will get some interesting results). Instead we will create a Line that defines the curve we want, then we'll put a Path Deform modifier onto a cylinder, causing the cylinder to bend how we want it.

 

Draw your Line and create a ChamferCyl (from Extended Primitives). Make the ChamferCyl quite tall, and with a lot of Height segments (approx 50). This way it will bend smoothly along the line path.

 

Select your ChamferCyl and apply a PathDeform modifier. You may notice that there are two PathDeform modifiers available, one is up the top of the list under WORLD-SPACE MODIFIERS, while the other is near the bottom under OBJECT-SPACE MODIFIERS. Make sure you select the OBJECT-SPACE one, the world-space one will cause your object to conform to the path as it moves in world space, i.e when you move or rotate your table-leg object it would try to conform to the line as it sits in world space.

 

In the PathDeform modifier hit the Select Path button and select the line you drew. You will find that your ChamferCyl bends over to follow the path, but it is not aligned to the line you drew. This is because by default the path is moved to align to the object, rather than the object aligning with the path. This is somewhat unexpected behaviour for a PathDeform modifier, but nonetheless it is simple to rectify; just move and rotate your ChamferCyl.

Once you have created one table leg we want to clone it three times. Once we have all four we'll have a better idea of whether the original path (and hence all the legs) needs to be reshaped, whereas with just a single leg it is difficult to tell.

Now to create these three clones we could manually make a clone, rotate it 90 degrees and move it, but this would be somewhat time consuming, and easy to get a little off. So instead we'll first move the pivot point of this table leg to the centre of the table top, then we can simply rotate at will.

 

With the table leg selected, go to the Hierarchy panel, and hit Affect Pivot Only. You will see in the viewport that the pivot is rotated by however much you had to rotate the table leg to match up with the spline you drew. To set the angle the leg is currently at as the default rotation, hit the "Align To World" button.

 

 

Now move the pivot to line up with the centre of the table. Make sure the pivot still lines up with the centre of the table leg, for this screenshot don't move the pivot along the X axis.

 

Now you can take the Affect Pivot Only button off, and make clones of this table leg. We could do this just by holding Shift and rotating (and probably using Angle snap to get exactly 90 degrees each time), but instead we'll use Array. Array is a way of automating a series of clone operations.

With your table leg selected go to the Tools menu and select Array.

 

We want to make 4 copies all up (Array Dimensions), and each one will be rotated 90 degrees around the Z axis (check the Perspective viewport to see what axis you should be rotating around). Using this Array tool saves a few seconds in this case, but for some things it will save a lot more. Making a spiral staircase is very easy using this tool, just offset both the rotation and translation. Make sure you have Instance copies on, that way if we want to change the size of our table legs we can just change one.

 

With all the legs visible I've decided that the legs need to come in a bit closer near the top. To change this, just edit the original line that all the legs are PathDeformed along. By changing this line you will also change the length of the path, so you will probably need to change the length of the ChamferCyl objects. Of course as they are Instance clones you can just adjust one length and all of them will update.

To make the rings that hold these legs together we can simply use a Torus (under Standard Primitives), which is a donut shape.

 

Texturing and Lighting

Now that your modelling is complete, you need to texture and light the scene. The texturing is not too complex, as all the furniture is metal (although we will use a couple of metal materials to break the monotony). Since this is primarily a modelling assignment, we will base our materials from some that come with 3ds max.

 

Bring up the Material Editor and select an empty material thumbnail. Hit the "Get Material" button, the first icon from the left under the material thumbnails.

 

From the resulting dialog box change the "Browse From" radio button to "Mtl Library". This will look through the inbuilt 3ds max material libraries for materials, rather than just showing the new material types you can create. In the list of available materials choose Metal_Chrome.

Feel free to use these inbuilt materials in your assignments, however be aware that the default look of these materials can be recognisable (and often simply inappropriate), so should be used more as a base to build a custom material rather than to be used as is.

This chrome material gets its look by having a large bright specular highlight, and by having a bitmap image mapped as a reflection map. This bitmap is of a lake and sky, however as it is quite blurred it will not be obviously out of place (as our table and chairs should not be reflecting a lake and sky).

 

To use this material in our scene we will make it darker, currently it is a very shiny silver. To make a material darker you would usually darken the Diffuse colour, so we'll do that first. Click the Diffuse colour picker under the Anisotropic Basic Parameters rollout and change it to an almost black colour.

When you change this you will notice that the colour in the material thumbnail doesn't change. This is because the silver colour is coming from the reflection map, which is currently at 100%. This means that the material is effectively a perfect mirror (100% reflective), but instead of reflecting its surroundings it is reflecting the bitmap of a lake and sky. So, if we just reduce this Reflection map amount, we will see more of the diffuse colour and less of the reflected bitmap.

 

Reduce the Reflection map Amount to 60. With the darker Diffuse colour this will darken the colour of the material. It will still have a large bright specular highlight which is now even more noticable.

This material will work for the legs and supports of the chairs, but we'll make another for the slats.

In another material thumbnail, hit the Get Material button and get the same Chrome_Metal material. This one should be dark as well, so change the Diffuse colour to something dark. Again reduce the Reflection map amount, this time to around 30, to give a darker look to the material. We'll also add a Noise to the Bump channel to give some texture, so click the Bump map button under the Maps rollout and select Bump.

 

In the Bump map properties, make it fractal (to give small detail), and reduce the size to around 2.0. Since the bump map shouldn't be too strong, reduce the Amount to around 15.

 

Apply this material to the slats of the chairs. Create a third metal material for the top of the table.

 

The last step is to light the scene. Since this is meant to be an outdoor cafe scene, we'll just use a single bright spotlight to simulate the sun.

 

In the top viewport create a Target Spotlight, start it quite a distance from the table and chairs, and aim it at your objects. In a side view move the spotlight up so it is shining down from above.

 

 

In the properties for this light make the colour a slightly yellow colour, and increase the Multiplier to 1.5. The multiplier controls the intensity of the light source, you should not use the colour to change the light's brightness. The Multiplier is just in arbitrary units, it does not relate in any way to lumens or other real-world light measurements.

We also want this light to cast shadows (which lights in CG won't do by default). Tick Shadows on, and change the type to Ray Traced Shadows. We'll look at the different light and shadow types in depth next tutorial, but for now Ray Traced Shadows will give a sharp outline to the shadows (rather than being blurred).

We also want to adjust the darkness of the shadows. By default the shadows will be a solid black, since we only have one light in the scene. Instead of putting other lights in the scene we just want to give the impression of light bouncing from other objects, and the simplest way is just to reduce the shadow density.

 

Browse down to the Shadow Parameters rollout and change the Density to 0.6. Leave the shadow colour black; shadows are always black in the real world but have varying density.

 

Present your models in a basic scene (at least a floor of some kind) for the final render.