Striping a Parking LotSetting the Scene
There are many times when working with maps in 3ds max 6 materials that you would like a map to fit explicitly to a surface without the need to adjust the mapping coordinates to stretch and move it into position. This would be guesswork at best and would stretch the map from its original aspect ratio, thereby distorting it.
This exercise is going to introduce you to several techniques that, when combined, can make the application of maps easier. You will learn the following:
Creating maps in 3ds max 6
Using Alpha channel transparency
Using Matte/Shadow material
Rendering with Box Selected option
The example you will apply the techniques to is a hilly terrain with a sloped parking lot that needs the striping applied. The landscape has been created with a parking area cut into it with the ShapeMerge command. The new parking polygons were then selected and aligned to the top viewport to make them coplanar and the polygon Material ID numbers was changed to 2. A Bend modifier was applied to add the slope. A Multi/Sub-Object material was assigned, with Material ID 1 being the grass and Material ID 2 being the gray parking lot.
A 2D rectangle was created to represent a single parking stripe. It was then converted to Editable Mesh to make it a surface with no thickness. A Standard material was created with the Ambient, Diffuse, Specular, and Self-Illumination color swatches set to pure white (see Figure 1).
Figure 1 The material for the parking stripe object is pure white and fully self-illuminated to eliminate lighting issues when rendering.
The stripes will render white against the black background regardless of how the lighting is set up in the scene, and the resulting white-on-black image will be more reliable as a map or mask in a material.
The parking stripe was then copied and arrayed over the parking area in the Top viewport for the correct parking layout. All stripes were then moved above the surface of the landscape, an important step so that they will not be obscured by the landscape when you render (see Figure 2).
Figure 2 Parking stripe objects positioned in Top viewport and moved above the landscape.
If the parking lot were flat, the stripe objects could be aligned just slightly above the parking surface. However, aligning to variable sloped surfaces is much more challenging and the stripes will not conform to the shape of the surface. Also, large numbers of physical stripes could slow performance.
Mapping will automatically adjust for any changes in slope as it is projected onto the surface. With one map supplying all stripes, it is very efficient.
There is another material that has been created in the Material Editor called Matte/Shadow material. This material is invisible but will always allow the background to show through. It is usually used to blend 3D objects into a background photograph to make objects appear to be positioned behind elements in the photo. The surfaces with the Matte/Shadow material can also receive shadows from the 3D objects, making them appear to cast shadows into the photo.
You will assign the Matte/Shadow material to the landscape to make it invisible in the Top viewport rendering of the stripes. You will use a render method called Box Selected that will render to the bounding box of any selected objectsin this case, the white stripes and invisible landscape.
When the resulting white stripe on black background bitmap is used as a map in the Parking material, it will fit perfectly because the default UVW Map modifier will fit itself to the bounding box of the landscape.
The Alpha channel in the bitmap will allow the original parking material to show through the black areas, showing only the white stripes on the gray surface.
Creating maps in 3ds max 6
You must first render a bitmap image with the Alpha channel that will be used in the Parking material, which is applied as a layer over the mottled gray material assigned to the parking area. The black areas of the rendered image will be transparent, allowing only the white stripes to show.
You must first assign the Matte/Shadow material to the Landscape object to make it disappear in the rendering, but still have its physical boundary used to determine the size of the rendered image.
Exercise 1: Rendering with Box Selected
Open the file called Striping01.max. Save it to a folder on your hard drive with the name Striping02.max. Open the Material Editor and pick the far right Sample window in the top row. It is called Matte/Shadow. Drag and drop the Sample window onto the Landscape object in the Top viewport to assign the material to the object. The landscape will turn light gray in the Camera01 viewport.
In the main toolbar, Named Selection Sets drop-down menu, choose bitmap objects in the list. This selects only the landscape and all the parking stripes. In the main toolbar, Render Type drop-down menu, choose Box Selected (see Figure 3).
Make sure the Top viewport is active. In the main toolbar, click the Render Scene button. In the Common Parameters rollout, Render Output area, click the Files button. In the Render Output File dialog, enter Stripes.png in the File name: field. Click the Save button. In the PNG Configuration dialog, check the RGB 24-bit radio button and make sure Alpha channel is checked (see Figure 4). Click OK.
In the Render Scene dialog, click the Render button. In the Render Bounding Box/Selected dialog, enter 1024 in the Width field and press Enter to match the aspect ratio in the Height. This results in a higher-resolution image while keeping the aspect ratio of the selected objects. Click the Render button. The scene will render as a black background with white stripes. The landscape disappeared because of the Matte/Shadow material.
Make sure you are in Select mode and hold the Alt key while you pick the Landscape in the Top viewport to deselect it. In the Display panel, Hide rollout, click the Hide Selected button to hide the stripes. You don't need them, but may want to adjust them and create a new bitmap later. Close all windows and dialogs and save the file.
Figure 3 In the main toolbar, Render Type drop-down, choose Box Selected. This renders only to the bounding box of all selected objects.
Figure 4 The PNG file should be configured to RGB 24-bit with Alpha channel.
Adding the Stripes to the Parking Material and Applying Mapping Coordinates
You will now take the new Stripes.png bitmap and apply it within a Composite map type to the Parking material. The Composite map uses the Alpha channel to layer maps and reveal the map color below.
Next, you will apply a UVW Map modifier to the landscape using the default Planar mapping type to fit the landscape's bounding box. This will cause the stripes to appear in the correct location on the parking lot.
Exercise 2: Assigning the Map and Applying Mapping Coordinates
Open the file you saved in Exercise 1. Open the Material Editor, pick on the upper-left Sample window, and drag and drop the Sample window onto the Landscape in the Top viewport to reassign it. The grass area will turn green and the parking a darker gray in the Camera01 viewport.
In the Material Editor, click the Material/Map Navigator button and choose the Diffuse Color map under the Parking material to go to the Noise map level (see Figure 5).
In the Material Editor, click on the Noise button and double-click Composite in the list. In the Replace map dialog, click the Keep old map as sub-map radio button and click OK. In the Material Editor, Composite Parameters rollout, click the None button for Map 2 and double-click Bitmap in the list. In the Select Bitmap Image dialog, find Stripes.png and double-click it.
Select the Landscape object and, in the Modify panel, Modifier List, double-click UVW Map modifier. The default Gizmo fits the bounding box of the landscape. In the Material Editor, click the Show Map in Viewport button to show the stripes on the parking area in the Camera01 viewport.
Right-click in the Camera01 viewport to activate it. In the main toolbar, choose View in the Render Type drop-down and click the Render Scene button. Clear the Save File checkbox in the Render Output area and click the Render button. The result is mapped stripes that follow the contour of the sloped parking area exactly (see Figure 6).
Close all windows and dialogs and save the file.
Figure 5 Use Material/Map Navigator to go to the Noise map level.
Figure 6 The rendered scene shows the parking stripes following the contour of the lot with no adjusting of the mapping coordinates necessary.
This method of applying parking stripes has several advantages:
It is accurate.
It is efficient.
It is easy to change and update simply by rearranging the stripe objects, rendering over the Stripes.png file, and reloading it into the material.
The Matte/Shadow material was important for this exercise to make the landscape invisible while still using its bounding box for the image size.
The example here has been to use Box Selected rendering for an accurate fit for parking stripes, but this same process may easily be expanded for many uses. For example, you could build a car model with no material assigned and use Box Selected to render a view of the side. You could then open the rendered image of the car in image-painting software and create a new layer. On the new layer in the paint software, paint nameplates, door/body cracks, symbols, etc. Export the new layer only and use it as a map in the car material. The image will fit the model exactly, with no adjustments necessary.
Use your imagination and have fun.