home about gallery publications education links forum contact


..::kitchen modelling & lighting::..

In this tutorial we will concentrate on the basics of mixing different modelling styles together to create a few units which we can further modify to complete the rest of the kitchen units at our leisure. To start off with, we will design and construct the cabinet and drawer fronts and position them accordingly to create the finished unit. We will design each unit individually (including the kitchen sink!) to the same scale and save them out as individual files. Using 3ds max’s external referencing (XRef) feature, we can import the different units in individual files into our main scene file (which has the basic geometry of the room already laid out) and then design our kitchen accordingly based on your own tastes! By using XRefs, we can bring in a single copy and then make instances of the same object(s) and position them exactly where we need them, but it also allows us to go back to the source files and amend the geometry as required, which will then be automatically updated in our main scene file! As we will need to render off an image for the “client” at the end of the day, we will set up mapping and use materials from the provided library and assign them to the relevant pieces of geometry so that we have a consistent material style throughout. The zip file contains additional models to accompany this tutorial such as glasses and light fittings which are also modelled to scale so if you want to populate the scene further, simply XRef these objects in as well!

Even though the scene files included in the zip file, and the tutorial were developed using 3ds max 6, we have used techniques (the majority of) which are applicable to previous versions.

Enlarge Screenshot
Reset 3ds max and go to the Customize: Units Setup menu option. In the resulting panel, enable Metric units and set the units to Millimetres. Click OK to exit this panel. Right-click the Snap Toggle button and go to the Home Grid tab. Set the Grid Spacing to 1.0mm and close this panel. Enable Grid and Angle Snap.
Enlarge Screenshot
In the Top Viewport, create a Box Standard Primitive with a length of 500mm, Width of 15mm and a height of 730mm. Label it Cupboard Side01. Hold Shift and, with the Move tool selected, click on the object. Select Instance cloning when prompted. Move the resulting object to the right 492.5mm (enter it into the X Transformation Type-In setting) so that its right hand face is at 500mm in the X-axis as illustrated.
Enlarge Screenshot
Copy this object (don’t Instance) and label it Cupboard Large Base01. Rotate this object 90 degrees in the Front Viewport and set its Height to 470mm. Move this object left and position it so that it fits nicely between the two other objects.
Enlarge Screenshot
Copy the object again and label it Cupboard Large Top01. Set the Width to 30mm and move it to the top of the cabinet structure as illustrated. Copy the Cupboard Large Base01 object, label it Cupboard Large Back01 and rotate it 90 degrees in the Left Viewport. Set the Length to 685mm and position it at the back of the cupboard.
Enlarge Screenshot
Select the two Cupboard Side objects and copy them, labelling them Cupboard Rear01 and Cupboard Rear02 respectfully. Set their Length to 70mm and Height to 880mm and position them at the back of the cupboard as illustrated. Select all of the objects in the scene and move them up by 150mm.
Enlarge Screenshot
Select the Cupboard Side01 object and set the Length Segs to 2. Add an Edit Mesh modifier, select the middle row column of vertices in the Left Viewport and move them to the front so that they are 60 mm from the front of the cupboard. Select the bottom rear polygon of this object and extrude it down by 150mm so that it is level with the bottom of the Cupboard Rear object.
Enlarge Screenshot
In the Front Viewport, create a Box primitive with a Length of 730mm, Width of 500mm and Height of 10mm, position it in front of the open front of the cupboard geometry and label it Cupboard Large Door01. Right-click this new box and select Convert To: Editable Poly.
Enlarge Screenshot
Go to Vertex Sub-Object mode and group-select the vertices on the right hand side of the object in the Front Viewport. Move them inwards 3mm. Group-select the top vertices and move them down 3mm. Come out of Vertex sub-object mode and, in the Left Viewport, move the entire object 3mm to the right.
Enlarge Screenshot
In the Left Viewport, clone the Cupboard Large Door01 object and move it in front of the original. Label it Cupboard Large Door - Plinth01. Grab all of the top vertices of this object and reposition them so that they are 100mm above the bottom ones. Go to Edge sub-object mode and, in the Left Viewport, group-select all of the edges in the middle and on the right-hand side of the object.
Enlarge Screenshot
Bring up the Chamfer tool and chamfer these edges with a 2mm amount and then again by 0.7mm. Enter Polygon sub-object, select all faces and click on Auto Smooth. Go to the Hierarchy Tab, click on Affect Pivot Only and click on Centre to Object. Clone this object to create another at the top and two either side. Adjust the vertices of these side objects to fit as illustrated.
Enlarge Screenshot
Select the Cupboard Large Door01 object and, in the Left Viewport, select the edges on the left and in the centre. Perform the same chamfering and Auto Smooth operation as before to create a smooth curved surface on the opposite side of the door panel. Select all of the Plinth objects and link them to the Cupboard Large Door01 object. Relocate the Cupboard Large Door01’s pivot point to resemble a hinge as illustrated.
Enlarge Screenshot
In the Top Viewport, create a Cylinder with a Radius of 5mm, Height of 150mm, 16 Height Segments and 12 Sides. Add a Taper modifier, set the Amount to 2.5, Curve to -2 and enable Symmetry. Add a Bend modifier, set the Angle to 180 and Direction to -90. Scale it down by 50% in the Left Viewport, position it as illustrated and label it Handle01. Link this to the Cupboard Large Door01 object.
Enlarge Screenshot
Select all of the objects in the scene apart from the door and handle objects. Open the Material Editor and click on the Get Material icon. Select Browse From: Mtl Library and click on the File: Open button. Load in the kitchen tutorial libary.mat file on the cover CD. Double click on the White Dull Plastic material to put it to the Material Editor and click on the Assign Material to Selection icon.
Enlarge Screenshot
Select the second material slot and click on the Get Material button again. Double click on the Oak Panelling material to send it to this material slot and assign this material to the door objects. Finally, send the Chrome Matted material to a new material slot as before and assign it to the Handle object.
Enlarge Screenshot
Even though there is some form of mapping present on the door objects, they are slightly awry due to the geometry manipulation we have performed on them. Select the Cupboard Large Door01 object and add a UVW Map modifier to its Modifier stack. Set the Length and Width settings to 800mm. Enter Gizmo sub-object mode and rotate the Gizmo 90 degrees in the Front Viewport so the grain is vertical.
Enlarge Screenshot
Next, rotate the Gizmo 45 degrees along its Z (blue) axis in the Perspective Viewport so that some of the grain is on the side of the object. Select the two vertical door plinths and add a UVW Map modifier. Click on the Acquire button and click on the Cupboard Large Door01 object. Select Acquire Absolute when prompted. Enter Gizmo Sub-object and move the Gizmo down and back a little to break up any repetition. Make the modifiers unique if necessary and amend the Gizmo positions independently!
Enlarge Screenshot
Select the two horizontal door plinths and add a UVW Map modifier. Click on the Acquire button and click on the Cupboard Large Door01 object. Select Acquire Absolute when prompted. Enter Gizmo Sub-object and rotate the Gizmo 90 degrees along its Y (green) axis in the Perspective Viewport. Select all of the objects, group them and label the group Cupboard – Big.
Enlarge Screenshot
Reposition the Pivot point at the base of the group and save the file as Cupboard – Big.max. A quick test render (with several cupboards a Skylight light type and shadows enabled) shows that due to the different mapping used, we can get away with using a single map for our cupboard front. The subtle raytracing works in the material, giving it a gentle sheen finish.
Enlarge Screenshot
Open the group and, in the Front Viewport, select all of the geometry on the right-hand side of the cupboard including the right-hand plinth and handle (not the middle sections or the middle door sections) and move then left 200mm. Select the top door plinth and, in the Editable Poly base level, select all of the vertices on the right hand side and move them left 200mm.
Enlarge Screenshot
As this object is instanced, this editing will also be performed on the bottom plinth! Perform the same task for the Cupboard Large Door01 object. Select the Cupboard Large Back01 object and collapse to an Editable Poly. Click on the Attach button and add the other back and side objects to it. Amend the right-hand vertices of this combined object.
Enlarge Screenshot
As we have the original geometry in the original file, we can attach this geometry for easy editing. Rename the combined cupboard geometry Cupboard Back Small01, and also amend the names of the “Large” objects in the scene accordingly. Amend the UVW Map Gizmos positioning in the scene if desired, close the group, rename it Cupboard – Small and save the file out as Cupboard – Small.max
Enlarge Screenshot
Open the Cupboard – Big.max file. Open the group and select the Cupboard Large Door01 object. Group-select its bottom vertices and move them up to the top part of the door so that they are 140mm from the top of the door geometry. Move the bottom vertices of the vertical plinths accordingly to fit and rotate the handle 90 degrees and position it in the middle of the new drawer as illustrated.
Enlarge Screenshot
Rename the Cupboard Large Door01 to Drawer - thin01 and the other objects accordingly. Select all of the drawer geometry and handle, instance them and move them down so that the top of the next drawer is 3mm below the bottom of the first. Instance the drawer again so that it is 3mm below the bottom of the first instance
Enlarge Screenshot
Make the new Drawer - thin03 unique, label it Drawer - deep01, select the new vertical plinth objects’ base Editable Poly level and make them unique but not “With Respect to Each Other” (when prompted). Select the bottom plinth and move it to the bottom of the open cupboard space. Adjust the vertical plinth and the Drawer – deep01 geometry as before (illustrated). Close and rename the group Drawer Set01. Save the file as Drawer Set.max
Enlarge Screenshot
Open the Cupboard – Big.max file. Open the group and select the Cupboard Side01 object. In its Edit Mesh Vertex Sub-Object mode, target weld the extruded base polygon back to the original base of the cupboard side as illustrated. Delete the Cupboard Rear objects and move the Handle down to the opposite end of the vertical plinth. Close the group, label it Cupboard – Wall Mounted and save the file as Cupboard – Wall Mounted.max
Enlarge Screenshot
With the same scene still open, re-open the group and delete the Cupboard Large Door01 object. Select all of the plinth objects in the Top Viewport and click on the Mirror tool. Set the Mirror Axis to Y, Offset to 10mm and Clone Selection to Instance. Create a Plane in the Front Viewport with a Length of 630mm, Width of 400mm and Length and Width Segs set to 1, and position it in the left Viewport so that it is sandwiched between the two sets of plinths.
Enlarge Screenshot
Label this new plane object Cupboard Glass. Open the Material Editor and, in a new material slot, click on the Get Material button. Double-click the Glass material from the provided material library and assign it to the Plane in the scene. Select the Cupboard Large Base01 object and instance it a couple of times to create shelves in the cupboard. Close the group, label it Cupboard - Wall Mounted – Glass and save the file as Cupboard - Wall Mounted – Glass.max
Enlarge Screenshot
Open the Cupboard – Big.max file and open the group. Select the entire door and handle and mirror it in the Front Viewport along the X axis with Instance Clone Selection. Move the instances 997mm to the right and move the Cupboard Side02 500mm to the right to extend the width of the cupboard. Set the Cupboard Large Top01’s Length to 20mm and position it behind the doors in the Top Viewport. Amend the other geometry as before to complete the interior by either amending the dimensions or collapsing the geometry and amending the vertices. Close the group, label it Cupboard – Sink and save it as Cupboard – Sink.max.
Enlarge Screenshot
Go to File: New to clear out the existing objects but to maintain the unit setup. Create a Plane in the Top Viewport with a Length of 480mm and Width of 760mm. Label it Sink. Set the Length Segs to 1 and Width Segs to 2. Covert it to an Editable Poly and move the middle vertices 120mm right. In Polygon sub-object mode, select both Polygons and open the Inset tool. Set the Inset Type to By Polygon and the Inset Amount to 40mm.
Enlarge Screenshot
In Edge sub-object mode, select all of the resulting diagonal edges and open the Connect tool. Set the Connect Edge Segments setting to 2. Back in Polygon sub-object mode, select the two innermost polygons and inset them by 40mm. With these (inset’d) polygons still selected, move then down 140mm in the Left Viewport.
Enlarge Screenshot
Click on the Selection Grow button a couple of times and move the resulting polygon selection down another 5mm. In Edge sub-object mode, select one of the 2nd outermost edges for both sinks and click on the Loop button. Scale the resulting selection down uniformly with Use Pivot Point Centre (see Choosing a Transform Centre in the manual) to 97% to bring the edges in slightly.
Enlarge Screenshot Select the bottom most edges and chamfer them by 20mm. Select all of the diagonal edges and chamfer them by 10mm. Select the top and bottom edges of the “step down” polygons for both sinks and click on the Loop button. Chamfer these by 1mm. Go to Border sub-object, select the outer border of the entire sink geometry and extrude it by -5mm with 0mm Extrusion Base Width.
Enlarge Screenshot Go to Edge sub-object and select the non-chamfered ring of edges around the top of each sink; chamfer these by 3mm. Select the outer ring of edges that are (now) above the extruded outer edge lip, and chamfer them by 1mm. Enable Use NURMS Subdivision and set the number of Display iterations to 3. Open up the Material Editor and assign the Chrome material from the provided library as before. Save the file as Sink.max
Enlarge Screenshot Open up the kitchen_start.max file included on the cover CD. Go to the File menu then select XRef Objects. In the resulting panel, click on the Add button and select the Cupboard – Big.max file. In the next pop-up panel, select the Cupboard – Big group and click OK. Next, in the scene, reposition and rotate the object to its desired location against any of the walls. (screenshot rendered with a few test lights)
Enlarge Screenshot Repeat this process for the other floor-based units and (provided) cooker, dishwasher and washing machine objects until you have populated the kitchen as desired (a single cupboard can double as a fridge!). Don’t forget you can still shift-move these objects to instance clone them, and mirror them to get the doors to face the opposite way. Next position the wall cabinets as desired; again, use the temporary object to determine correct height! (screenshot rendered with a few test lights)
Enlarge Screenshot Create a work surface by extruding a rectangle shape 590mm wide and 40mm high I in the Front or Left Viewports and extruding along the length of your cabinets. You will need to cut a hole out for the sink by using a box to subtract from the work surface geometry. You will also need to drop in a long Box or extruded rectangle to cover the open edges at the base of the floor cupboards. XRef in the remaining (provided) objects, such as glasses, bowls and the tap and additional light fittings for underneath and inside the glass cabinets.
Enlarge Screenshot
In your scene (or load in the kitchen xrefd.max file), create an Omni light in the Top Viewport and label it Unit Spotlight. Enable Shadows and click on the colour swatch to bring up the colour palette. Set the light’s colour to RGB 242,255,255 and the Multiplier to 0.1. Expand the Shadow Map Params rollout and set the Bias to 0.001, Size to 256 and Sample Range to 20 to pull the shadow in tight around its casting object, reduce its quality (to reduce render times) and to diffuse it.
Enlarge Screenshot
Position the light just inside the XRef’d Unit Spotlight object in the Top Viewport, and reposition it in the Left Viewport so it is sitting nicely underneath the light fitting. Back in the Top Viewport, instance this Omni light and reposition the instance underneath the next Unit Spotlight object. Reproduce this procedure for all remaining Unit Spotlight geometry in the scene ensuring the lights are instances so we can amend any settings later on to a single light to affect all of them.
Enlarge Screenshot In the Top Viewport, create a Free Spotlight and label it Ceiling Spotlight. Enable Shadows, set the light’s colour to RGB 255,249,240 and the Multiplier to 0.075. Expand the Spotlight Parameters rollout, set the Hotspot / Beam to 40 and Falloff/Field to 160 to give a wide intensity falloff. Expand the Shadow Map Params rollout and set the Bias to 0.001, Size to 256 and Sample Range to 20 (should be like this already due to the last light’s settings).
Enlarge Screenshot Reposition this light in the Top and Left Viewports so that it is situated just underneath the Ceiling Spotlight XRef geometry in the scene. As with the cabinet lights, instance this new light to populate the remaining Ceiling Spotlight XRef geometry. In the Top Viewport, create a Skylight Standard Light anywhere in the scene.
Enlarge Screenshot The next couple of steps are about setting up a lighting solution which is calculated by 3ds max. However, if your machine is not all that powerful, I would suggest you drop in a couple of low intensity Omni lights in the middle of the kitchen with Specular disabled in their Advanced Effects rollout and turn off the Skylight.
Enlarge Screenshot Alternatively, if you machine has that bit power, open up the Render panel and go to the Advanced Lighting tab. Choose Radiosity from the Pull-Down menu, set the Initial Quality to 60, set the Filtering to 5, expand the Radiosity Meshing Parameters rollout and set the Meshing Size to 100mm. Click Start to calculate the radiosity solution and render off the scene. For more detail, increase the Initial Quality setting, reduce the Meshing Size and enable Final Gathering in the scene. You may also want to add exposure to increase the brightness of the scene.
Download the max file! Zip file to accompany

..::additional tips::..

The materials in this scene are slight amendments to materials which are bundled with 3ds max. The wood, for example, is simply the Wood_Oak material which is in the standard material library, but with a few amended settings. These settings are in the form of an amended specularity to give the surface a slight sheen. Because this material now has a slightly glossy finish, it will reflect its environment a little. Therefore, a Raytrace map has been introduced into the material’s reflection slot which is masked using a Falloff map so that the reflection is strongest when viewed from the perpendicular.

The rest of the materials are quite basic; simply glossy materials for shiny plastics, amended raytrace materials (from the raytrace materials library that come with 3ds max) for chrome and matted chrome, and raytraced glass materials for the glass objects in the scene, such as the cupboard fronts and any glassware we decide to bring in. The oven model, however, makes use of a Blend material, which mixes two materials together with similar properties using a Gradient Ramp map to control the mixture. If you are using 3ds max 6, you may want to replace all of the materials in this scene with the new Architectural materials, and if you decide to use Mental Ray to render the scene, you could use the excellent glass shaders which are also included in the basic installation.

XRefs are used in this tutorial to give you a basic idea of asset management in 3ds max. This system has been around for a fair while now and is widely used in a production environment as it allows a team to work and contribute to a scene. By using externally referenced objects or full scenes, a single user can call external assets (which could still be being developed – the scene can be set to automatically update when the XRef scene is re-saved!) into the “master scene” and use proxy (low polygon / detail) objects to animate them easily which are replaced automatically at render time with the fully detailed object. Please check the online help for more information on this feature!

Initially published: 3D World magazine, Issue 51, May 2004.

Copyright © Pete Draper, May 2004. Reproduction without permission prohibited.

www.xenomorphic.co.uk