In the previous part of the tutorial, we learned how to bake Normal and Ambient Occlusion maps. And in the final part of the tutorial, we will learn how to texture our asset.
Texturing is a very major part of the game art pipeline. Lots of people think texturing is a very difficult job, but I think there are lots of good ways to create a good texture using a few simple methods.
Here we are going to discuss the basic rules and pipeline of the texturing with the help of Photoshop and xNormal. We will be using the default Photoshop brushes and some texture images.
Step 1
We
will use a 2048x2048 map for our asset's texture. So, first create a new document with a size of 2048x2048 in Photoshop.
Step 2
Here you can
see I have defined the different types of materials needed using the reference image. The main
cylindrical chamber is made of copper. Several of the supporting parts are made of brass
and rubber, and some areas are painted.
Step 3
To begin the texture, arrange all of the maps in Photoshop as shown below. The UV/ Screen map is the UV layout image. And the AO
and Normal maps are the ones we already generated (see the previous part of the
series). One more essential map we need is the Selection map which I generated
using the Textools plugin in 3ds Max (see next step.)
Start the Textools script and click on the TxMap option. With
the BlockoutMap selected, define the texture size (2048 x 2048) and Edge
Padding, and then click on the Save As option. Hence you will get a Selection map to be
used in Photoshop.
Step 4
Back in Photoshop, make separate Groups for the layers. Make a Utilities group and put the UV and
Selection layers inside it. Make an AO group and put the AO layer inside it. Make a Normal group and put the Normal layer inside it, and finally, make a new group named Color and then create a new layer with a base grey color and place it inside it.
Apply the indicated Blending Modes to each layer as shown in the image below . Screen mode
is applied to the UV layer so that only the wireframe will be visible, and Multiply is applied to the AO
layer to extract the contact shadows onto the surface.
Step 5
Now let’s create
a cavity map with the help of the Normal map. The cavity map is very helpful to create highlights along the edges and corners of your asset. So first of all, with the Normal
layer selected, press Control-J (or Right Click and select Duplicate Layer) to
create a duplicate layer. Then rename it as Cavity
map.
Step 6
We will be using xNormal's photoshop plugin to create our cavity map, so you will need to have it installed to follow this step. xNormal is a free to use plugin which can downloaded here.
Once you have installed the plugin into Photoshop, go to Filter > xNormal > Normals2Cavity.
Step 7
Since our Normal map was baked inside 3ds Max, the Swizzle coordinates should be set to X+, Y+, Z+
and the Method option should be set to EMB. Then click on Update and finish with Continue.
Step 8
Here is the
cavity map.
Step 9
Now place
the Cavity map inside the Color group and apply the Overlay blending mode. Here
layer 1 is our background layer with the grey base color.
Step 10
Now
we will apply some color to the texture. Let’s start with the copper. Make a New Layer inside
the Color group and apply a copper color (R: 175, G: 123, B: 99). Rename
this layer as Copper.
Step 11
Put the
Copper layer in between the Cavity and the Base layers.
Step 12
Now save the
texture file and apply it onto the fire extinguisher inside 3ds Max. In the following image you can see the texture using two different
materials. One is the diffuse only and the other one is the diffuse map with some specular applied.
Most of the time, I prefer using the diffuse map as the specular map until it’s completed. It helps you to recognize the colors and the surface with
highlights.
Step 13
When the Selection
map is applied, you can see all the parts are separated by the different colors.
This is where we are going to apply different materials like Brass, Copper and Rubber.
Step 14
Back in Photoshop, make
separate selection layers for each object. Use the Magic Wand tool (W) to select the desired area of the Selection layer, and then press Control-J, so the selected part will create a
new layer.
As you can see below, I've created a selection for the Copper layer using a selection of green from Selection layer.
Step 15
Now mask
your color layers with their selections. Select the Copper layer and apply a Mask using the Add a Mask button at the bottom of layer manager. And then fill the desired area (where you want
to apply the copper) with a white color in your mask.
Wherever you apply white in your mask, will be visible. And the black parts will be invisible.
Step 16
Now make a
New Layer above the Copper layer and name it Brass. Fill this layer with a color similar to brass.
Step 17
Here you can see I have followed the same process for the Brass layer also. I applied a mask to the Brass layer and filled it with a White color wherever I needed brass. I also created a new layer named Rubber and just filled It with a dark color for now. Here you can also see the selection I created for the rubber material.
Step 18
Now save
your map and jump back to 3ds Max. You can see we now have some nice color values to easily recognize the materials.
Step 19
Now let’s
add some details to the surface. We will add the details step by step, and from basic to
complex. Create a New Layer over the Brass and Copper layers and then go to Filter > Noise > Add Noise... to apply some noise
using the following settings. Here we are going to apply some basic noise
to our textures.
Step 20
Now go to Filter >Artistic >Sponge and
apply these settings.
Step 21
Now save
this texture and apply it onto your object in 3ds Max. The problem here is with the Texel rate (please see the UV Mapping part of the
tutorial to learn more about it). The noise looks quite large in size, so we have
to reduce it.
Step 22
With the
Noise layer selected, press Control-T
to enter Transform mode and scale it down by 50% to create smaller grains. Now make several copies
of it and spread them over the texture.
Step 23
Look at the
result now. This is a decent scale for our noise/grains.
Step 24
Back in Photoshop, change
the Blending Mode of the Noise layer to Soft Light with 30% opacity. Now you
can see the small grains all over the colored surface.
Step 25
Now we are
going to add some more detail, like patches and grunge for a more worn look. I
am using a texture image from www.cgtextures.com. But there are lots of varieties of
grunge maps out there there which you can try.
Step 26
Apply this
texture above the Copper layer. If the texture does not fit your
document size, Transform (Control-T) and scale it down. The details must match the size of your object to look correct.
Step 27
Change the
Blending Mode to Luminosity and set the Fill value to 20%.
Step 28
Add one more
texture with some scratches and dirt details.
Step 29
Double
Click on layer to open the Layer Style dialog box. And adjust the blending using the Blend If option. Move the white right handle to the middle and you will see the light areas of the texture will begin to dissolve. Do the same thing with black handle on the left side to achieve the desired result. You can also split the handles and adjust
them manually by Alt-Clicking on them.
Step 30
Now we have
to apply a Patina to the surface. A Patina is a coating made up of various chemical compounds such as oxides, carbonates, sulphides and sulphates which have formed on the surface during exposure to
atmospheric elements (oxygen, carbon dioxide, rain, acid rain, sulfur - bearing
compounds). A common example of this is rust, which forms on iron and steel when
exposed to oxygen.
Patina also refers to the accumulated changes in the surfaces texture
and color which is a result of normal use. Such as a coin or a piece of furniture over time.
To create this effect, just add a New Layer
with this color. And randomly apply some deep brush strokes with a low opacity
value to make it look patchy.
Step 31
With the AO
Layer selected press Control-A to select all and then press Control-C to copy. Then
with the Patina layer selected, first apply a mask, then Alt-Click on the mask
and paste (Control-V) your AO here.
Then invert the mask using Control+I, and you will see some little green areas show up on your texture.
Step 32
The result
should look like this. Now we have to add some detail to the Brass.
Step 33
Right now
the Brass looks very clean and flat. So we need to add some scratches and surface detail to make it look like real Brass.
Step 34
This is the
scratch image I'm going to use. Cover the brass surface with this image using a separate layer placed above the Brass layer.
Step 35
When we
apply this to our object in 3ds Max, it looks quite big. So we have to scale
down the Texel rate just like we did in Step
22.
Step 36
Now it looks
quite good as the Texel density is much more believable.
Step 37
Now file the
entire document and mask this texture using your Brass selection.
Step 38
Now apply a Soft Light Blending Mode with 50% opacity .
Step 39
Now you can
see we have some detail on the brass areas.
Step 40
Now let’s add
some more dirt or grunge onto the main surface. I'm using a different
texture here. Make it tileable and adjust the size for your document.
Step 41
Invert this layer
using Control-I and change the Blending
Mode to Hard Light, the Opacity to 50% and the Fill amount to 82%.
Step 42
This is the
image we will use to add some grunge to the Brass. We need some variation in
this texture.
Step 43
Apply another mask
to the Brass areas.
Step 44
Now you can
see we have some variation in the brass areas.
Step 45
The original
fire extinguisher image had some text written on the plate. So I recreated it by writing some
text in white on a blank new layer in Photoshop.
Step 46
With your text ready, hide
your Color group and add this layer onto the Normal map layer. The background of the
text layer should be grey.
Step 47
We will now
convert this text to a normal map. So with the Text layer selected, go to Filter
> xNormal > Height2Normals.
Step 48
Follow these
settings.
Step 49
Now look at
this beautiful Normal map. Overlay this layer onto your old Normal Map.
Step 50
Now Double-Click on this layer and open the Layer Style dialog. Go to the Advanced Blending section and
disable the B (Blue) channel.
Step 51
Now this is what
it should look like inside 3ds Max. To apply the Normal map into the material and
turn on visibility in viewport, see the Normal Map Baking part of this series.
Step 52
Generate a Cavity map for the text layer following the same process we previously used in in Step 7.
Step 53
Overlay this
Cavity map onto your Brass map. You can also add some shadows beneath the text if you like.
Step 54
Now create a
New Layer on top of the Brass layer and fill it with a Red color.
Step 55
Now apply a
mask on this layer and paste the text layer onto it, so your text will be
visible through the red. And rename it as Paint Layer.
Step 56
Now
duplicate the Patina layer and place a copy on top of the Brass layer. Apply a
mask and fill it with Black.
Step 57
Select the Brush
tool and choose the Wet Media brush by Right Clicking. Select the Rough Ink brush and
then turn on Shape Dynamics and Scattering.
Step 58
Now apply
some brush strokes with light hands on the corner and inside areas, especially
where two shapes joint.
Note: When
you make brush strokes using a white color on your mask, that means the underlying layer will be visible. But
if you press X or change the color
to black, it works then like an eraser. So you can adjust the visibility of your brush strokes by choosing black or white as you paint.
Step 59
Now make a duplicate
copy of the Grunge layer (Step 40) and place it on top of the Paint layer.
Step 60
Now invert
this layer and change the Blending Mode to Multiply. Then apply a mask with a black
color.
Step 61
Now add some
light brush strokes on the corners of the text.
Step 62
Now choose
the Rough Dry brush to add some scratches on the red painted part.
Step 63
For the
scratches, choose black in your color palette and paint on the mask along the edges and corners of this texture.
Step 64
Now we have
to add trim and some rivets as shown in the following image.
Step 65
Create a New
Layer with a black and white line and some rivets painted in white above the Normal
map.
Step 66
Turn this
layer into a Normal map with the help of xNormal (Step 48). You can adjust the
width according to your preference.
Step 67
Here is the
result of the Normal mapped line in 3ds Max.
Step 68
Add some
details around the seam and rivets as we did in Step 58.
Step 69
Here is the final
result.
Step 70
Now we have
to make the Specular and Gloss maps.
Specular
map: This map is used to define the
surface highlights and shine.
Note:- Sometimes
we have to make a differentiation between materials according to their shininess and
highlights, and this is possible with the help of the Specular map. There are no
specific conditions needed to create the Specular map, it's only job is to make bright
and dark areas. White for shiny areas or highlights and black for matte and dull surfaces.
Gloss map: A
Gloss map defines the width or size of specular highlights and the amount of
reflection on the surface. Nowadays, most game engines and rendering systems
use Gloss maps for reflectivity control.
Step 71
To get started, duplicate
your Color map folder and rename it Spec (Step: A). Open this folder and apply
an adjustment layer for Hue/Saturation (Step: B). (You can find this tool in the bottom of Layer dialog). Now save this texture as Specular.
Step 72
In 3ds Max, remove
the Diffuse map from Specular slot, and apply the new Specular map.
Now we
have to add some bright and dark values. Here is a little pre visualization for the
specular values needed according to the different materials. Here Brass and Bronze have almost the same values as most bright, highlighted materials. Since the Paint material
is a bit old, it's less shiny. The Rubber and Patina are mostly dull areas.
Step 73
Here is the
specular map and as you can see, the surfaces have different values according to the different materials.
Step 74
Here is a
quick result of the Specular map (with only the spec map applied in the material). As you can
see the text is more highlighted and shinier, than the dirty areas around the text.
Step 75
Now
we have to make a Gloss map. It’s very similar to the process used to generate the Specular map.
Conclusion
All the work
is now done, so let’s render the scene to see our final game asset.
There are lots of different options for
rendering (Scanline, Mental Ray, V-Ray, etc.) to make your asset look more
beautiful. Here I have shown a real-time screenshot rendered using Marmoset Tool Bag.
Let’s hope to see a detailed tutorial on Marmoset Tool Bag in near future!
Cheers!!