The materials system in Unreal Engine 3 allows artists to create complex materials using multiple textures. Bump maps, in particular, change the way textures look. They also change the way textures are created. This document will examine a few techniques you can use to tailor your textures to the new technology.
Using Diffuse for Color, not Shading
In the past, a good texture map would need to provide a convincing illusion of depth. Wrinkles in clothing, bolts in machinery--these details were too fine to waste polygons modeling them (in most cases they still are) so they would be painted in and clever use of painted shadows and highlights would give them the illusion of three-dimensionality.
In Unreal Engine 3, bump-mapping adds a good deal of this lighting detail to your material. As a result, there is less need for painted-in shading in your diffuse texture. You may find that your diffuse texture becomes nothing but flat color while you depend upon your bump map for these fine surface details. This is especially true of Spherical Harmonic maps, which provide self-shadowing bumps.
Below you see the diffuse texture of a soldier's head and the resulting material in Unreal Engine 3. The diffuse texture is completely devoid of shading information. All shading is rendered using the normal map.
You will notice that the helmet has scars and bumps that exist solely in the bump map. Notice the raised star emblem also. No highlight or shadow exist for it in the diffuse map.
Using the Normal Map in Photoshop
If, while you are creating a diffuse map, you find yourself having a hard time visualizing the final product (the diffuse in combination with bump-mapping) you might want to try this technique:
This will give you a rough approximation of the details the normal map will add in the engine, as in the image below. You will probably want to make sure the new layer is turned off before exporting.
- Paste your normal map into a new layer, on top of the layer stack.
- Desaturate it.
- Set the layer blending type to Multiply.
- Now tweak the Opacity if you wish.
You may find that a diffuse texture with just flat color isn't giving you enough shading detail. Of course you can simply paint it in, but you don't have to. A Shade Map can be procedurally generated from a Spherical Harmonic Map (.SHM).
Obviously, first you need an the Spherical Harmonic Map. You can do this in SHTools or in newer versions of 3D Studio Max.
Below is an image of a lamp and it's corresponding shade map:
Create a Shade Map
3D Studio Max
See the Creating Shade Maps page for more information.
"Input" is the name of the .SHM, and "output" is the desired name of your new Shade Map.
The Shade Map is created as if the object were surrounded by omnidirectional ambient light. In the same way cracks between floorboards are dark, no matter the direction of light in the room, parts of model that are tucked back will be darker while parts that stick out will get more light. The pixelated portions in the shade map are parts that are not mapped to the object and are not seen.
- Copy your .SHM to the directory in which your SHTools are located (probably c:\SHTools\Bin ).
- Open a command line (DOS window) and navigate to that directory.
- Type the following: MeshProcess CreateShadeMap "input.SHM" "output.TGA"
Shade Maps using Mental Ray Ambient Occlusion
An easy and excellent way to create a shade map is through the ambient occlusion shader via mental ray. Apply the shader to the diffuse input of the model and set the material to be 100% self-illuminating. Ambient occlusion, sometimes referred to as "dirtmap", does not need any lights and creates perfectly non-directional shading. Make sure your renderer is set to mental ray, otherwise the shader will not be exposed.
Apply a Shade Map
Now that you have your shade map, you can then past this into your diffuse map using the same process described above with normal maps:
You will get something like the following:
That's it. Import it into Unreal Engine 3 and try it out. You can also lessen the opacity of the shade map layer if the shading is too much.
- Paste shade map into a new Photoshop layer at top of layer stack.
- Set layer blending to Multiply.
- Adjust opacity as desired.