Get a free year on Tuts+ this month when you purchase a Siteground hosting plan from $3.95/mo
In the previous part of the tutorial, we learned how to bake Normal and Ambient Occlusion maps. And in this part, 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.
will use a 2048x2048 map for our asset's texture. So, first create a new document with a size of 2048x2048 in Photoshop.
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.
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 4Back 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.
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.
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.
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.
Here is the cavity map.
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.
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.
Put the Copper layer in between the Cavity and the Base layers.
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.
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.
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.
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.
Now make a New Layer above the Copper layer and name it Brass. Fill this layer with a color similar to brass.
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.
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.
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.
Now go to Filter >Artistic >Sponge and apply these settings.
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.
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.
Look at the result now. This is a decent scale for our noise/grains.
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.
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.
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.
Change the Blending Mode to Luminosity and set the Fill value to 20%.
Add one more texture with some scratches and dirt details.
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.
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.
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.
The result should look like this. Now we have to add some detail to the Brass.
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.
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.
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.
Now it looks quite good as the Texel density is much more believable.
Now file the entire document and mask this texture using your Brass selection.
Now apply a Soft Light Blending Mode with 50% opacity .
Now you can see we have some detail on the brass areas.
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.
Invert this layer using Control-I and change the Blending Mode to Hard Light, the Opacity to 50% and the Fill amount to 82%.
This is the image we will use to add some grunge to the Brass. We need some variation in this texture.
Apply another mask to the Brass areas.
Now you can see we have some variation in the brass areas.
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.
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.
We will now
convert this text to a normal map. So with the Text layer selected, go to Filter
> xNormal > Height2Normals.
Follow these settings.
Now look at this beautiful Normal map. Overlay this layer onto your old Normal Map.
Now Double-Click on this layer and open the Layer Style dialog. Go to the Advanced Blending section and disable the B (Blue) channel.
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.
Generate a Cavity map for the text layer following the same process we previously used in in Step 7.
Overlay this Cavity map onto your Brass map. You can also add some shadows beneath the text if you like.
Now create a New Layer on top of the Brass layer and fill it with a Red color.
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.
Now duplicate the Patina layer and place a copy on top of the Brass layer. Apply a mask and fill it with Black.
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.
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.
Now make a duplicate copy of the Grunge layer (Step 40) and place it on top of the Paint layer.
Now invert this layer and change the Blending Mode to Multiply. Then apply a mask with a black color.
Now add some light brush strokes on the corners of the text.
Now choose the Rough Dry brush to add some scratches on the red painted part.
For the scratches, choose black in your color palette and paint on the mask along the edges and corners of this texture.
Now we have to add trim and some rivets as shown in the following image.
Create a New Layer with a black and white line and some rivets painted in white above the Normal map.
layer into a Normal map with the help of xNormal (Step 48). You can adjust the
width according to your preference.
Here is the result of the Normal mapped line in 3ds Max.
Add some details around the seam and rivets as we did in Step 58.
Here is the final result.
Now we have to make the Specular and Gloss maps.
Specular map: This map is used to define the surface highlights and shine.
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.
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.
In 3ds Max, remove the Diffuse map from Specular slot, and apply the new Specular map.
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.
Here is the specular map and as you can see, the surfaces have different values according to the different materials.
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 75Now we have to make a Gloss map. It’s very similar to the process used to generate the Specular map.
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!!