Creating Normal Maps


Normal maps are becoming more common in games because they offer a way to increase the bump details of a model by mapping high-detail bump information onto a low-resolution model. Normal maps are created using the Render to Texture interface and applied to an object using the Normal Bump map type found in the Material Editor.

The Normal Bump map type is typically applied as a bump map in the Maps rollout and includes a separate button, shown in Figure 25.7, to apply an additional bump map.

Caution 

Normal maps can be displayed in the viewports only if the DirectX display driver is selected.

Using the Projection modifier

The Projection modifier is used to create a normal map. It works by being applied to a low-resolution object and then picking a high-resolution object that is similar to the low-resolution one. The Projection modifier surrounds the object with a cage that can be manipulated to include all the object details.

Within the Modifier Stack, the Projection modifier includes three subobject modes: Cage, Face, and Element. The Geometry Selection rollout includes a list of objects, a Pick button, and a Pick List for selecting the high-resolution object to be used.

image from book
Figure 25.7: Although normal maps are created using the Render to Texture dialog box, they are applied using the Material Editor

The Cage rollout includes settings for displaying and pushing the cage out from the surface of the object. A Tolerance setting is used for wrapping the cage about the surface. The Selection Check rollout informs you if the Material IDs or Geometry faces are overlapping.

Setting Projection Mapping options

With a Projection modifier applied to a selected object, the Projection Mapping option can be enabled in the Objects to Bake rollout of the Render to Texture dialog box. The object can actually include several Projection modifiers, so a drop-down list lets you select the one to use or you can use the Pick button to select a target object in the viewports.

The Options button opens the Projection Options dialog box, shown in Figure 25.8. Using this dialog box, you can set the projection method, determine how to resolve hits, and define the Map Space.

At the top of the Projection Options dialog box is the Source object. The Synch All button causes each object to use its active source for the projection. The two projection methods are Raytrace, which traces each normal line from its source to its target, and UV Match, which works by matching the UV coordinates between the source and the target objects.

For transparent objects, two projection rays may hit the same point. The Resolve Hit options let you set which one is selected, either the Closest or the Furthest. Most projections use the Tangent Map Space, but you can select to use the World, Screen, or Local Map Spaces also.

image from book
Figure 25.8: The Projection Options dialog box lets you specify how the projection values are determined

Tutorial: Creating a normal map for a spikey sphere

For this example, I've created two sphere objects, extruded the vertices on one of them, and called it Spikey ball. The other is a plain GeoSphere. The spikey ball sphere weighs in at 1280 polygons, while the normal GeoSphere is only 320 polygons. Although the spikey ball includes many more polygons, many of these details can be reclaimed using a normal map.

To create a normal map for the spikey ball model, follow these steps:

  1. Open the image from book Spikey ball.max file from the Chap 25 directory on the DVD.

  2. Select and move the spikey ball object over the top of the tube object in the Top viewport.

  3. Select the normal GeoSphere object, and select the Rendering image from book Render to Texture menu command (or press the 0 key) to open the Render to Texture dialog box. In the General Settings rollout, select the Scanline renderer, no advanced lighting option as the Render Settings. In the Select Preset Categories dialog box that appears, click the Load button.

  4. In the Objects to Bake rollout, click the Pick button, select the spikey ball object in the Select Targets dialog box that appears, and click the Add button. Then enable Projection Mapping.

  5. In the Output rollout, click on the Add button and select the Normals map. From the Target Map Slot drop-down list, select the Bump option. Click the 512 button to set the map size, and enable the Output into Normal Bump option.

  6. Click the Render button at the bottom of the Render to Texture dialog box.

  7. Drag the normal Geosphere away from the spikey ball object and render the Perspective viewport.

Figure 25.9 shows the resulting normal map rendered on the GeoSphere.

image from book
Figure 25.9: The normal map for the spikey ball can be applied as a bump map to reclaim the high-res details




3ds Max 9 Bible
3ds Max 9 Bible
ISBN: 0470100893
EAN: 2147483647
Year: 2007
Pages: 383

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net