Texturing HOW-TO For Armed Assault by Soul_Assassin
A few words before I begin. This “how-to” was conceived as part of the on-going Russian Airborne Armor Project. The project serves as a independent, unofficial base for learning and educating others of modding possibilities of Armed Assault through completing a stand-alone add-on pack. The author would like to point out that the purpose of this document is to share ideas and to encourage experimentation in the field and should not be regarded as “do-this-or-die” kind of lecture. To follow this tutorial, the reader is assumed to have a basic working knowledge of Photoshop (any version that supports the nVidia Normal Map plug-in) and Oxygen 2. - Alex Vorobiev aka Soul_Assassin
The set-up of this tutorial is as follows:
Normal map creation, diffuse map creation, specular map creation and finally application of the texture maps onto the model in Oxygen. Modeling or UV mapping is NOT treated here but can be learned through a bottomless pit of tutorials that can be found online. Normal maps are treated first because as with many next-generation games, the normal maps account for the biggest percentage of detail information for the model. For your creation to stand out, however, you will need a successful combination of all 3 types of maps. The flow diagram in Figure 1 represents the pipeline for texture production for the example that will be treated in this document. The example that will be shown is that of a creation of an armored vehicle texture. For the simplicity of the explanation, the object to be textured will be a 1x1m plane. This will let me focus more on the texturing side of the text. Before anything can start you should make sure your copy of Photoshop is equipped with the nVidia Normal Map Plug-in which can be downloaded for free here. This plug-in allows to convert black and white height maps into normal maps. Some may choose to use an alternative like CrazyBump. The point is, just use whatever suits you best. Once you have the plug-in installed you are ready to begin.
1) Start Photoshop and create a 512 x 512 px document.
2) With the BACKGROUND layer selected press CTRL-A to “select all” and then SHIFT-F5 to bring up the Fill… dialog.
3) In the USE drop down box select “50% Gray” and press OK.
A bit on the nature of the normal map conversion. The document you are about to create is a black/white height map. This means that 50% gray is the average height. Anything darker will result in crevices in the model, while everything lighter will make a peak.
4) Create a new layer called “Raised”.
5) Select the Elliptical Marquee tool and drag out a circle by dragging one out on the canvas and pressing SHIFT button before you release the mouse button.
6) SHIFT-F5 and fill it with white color.
7) In the main menu choose Select → Modify → Contract… and put in 20px.
8) Repeat step 6 but now choose black as your fill color.
9) Again contract by 20px and now press the Delete key.
You should have something resembling the following picture:
10) Drag out guides from the rulers of the canvas so they meet at the center of the circles.
11) Create a new layer called “Spacer”.
In this layer make a circle using previously described methods at the center of the other two (but make it smaller) and fill it with a light gray color (not white though). If you click on the center of the guide intersection while holding the SHIFT and ALT buttons at the same time you should get the desired effect.
12) Once more create a new layer and call it “Nut”. Select the Polygon tool, make sure it is set to “Fill Pixels” mode in the top menu and with white set as your primary color drag out a 6-sided bolt on top of the spacer. The first figure on the left should demonstrate all the steps up till now.
13) In a new layer called “Bolt” drag out a circle marquee that would be within the “Nut” borders. Right-click and choose “Stroke…”.
14) Use 1px with a dark gray color with all other options set to default. The results are in the bottom left figure.
15) Save the .psd file. I well come back to it much later.
16) With this done, SHIFT-select all the layers including the background , then right-click and choose “Merge Layers” (This is very important! All the information to be carried over into the normal map HAS to be in one layer).
17) Go to Filter → NVIDIA Tools → NormalMapFilter… and accept the default settings.
You can see the Result in the bottom right picture on this page. Save it as a 32-bit TGA names textut_01_nohq.tga. As I said, I will come back to the normal map .psd once more before the end.
The diffuse map is what most of you know as the “texture” of the model. It is now important to find a metal texture that represents the surface that you want to make. You can Google a lot of free resources. In my example I am using one I found at here. If you have access to some commercial libraries like DOSCH then its even better.
1) Open up you texture in Photoshop and Edit> Define Pattern… . Click OK.
2) Start a new canvas with 512 x 512 px dimensions.
3) SHIFT-F5 to Fill… and choose the method as Pattern. From the pattern choice, pick the one you just created. Call the layer “Metal”
4) Add a new Brightness/Contrast layer with Brightness at 123 and Contrast at -34.
5) On top of that add a Hue/Saturation adjustment layer with the following settings:
HUE = 67 SATURATION = 19 LIGHTNESS = -62
Also put a tick next to COLORIZE option. Press OK and the result should look like the one on the left. Now I am going to fake a bit of weathering and ambient occlusion. Put the “Raised” layer I created in the normal map in to this file and put it on the exact same location as it is there.
6) With the Marquee tool make a selection as big as the outer circle. Press SHIFT-CTRL-I to invert the selection.
7) Create a new layer called “Shade”. Pick a large brush and with black selected as primary color start wiggling around the outer edges of the canvas. Repeat this around the edges of the circular selection too. You can see what I have done on the central picture on the left. The type of the brush is not very important. In fact I would recommend playing around.
8) When done do Filter → Blur → Gaussian Blur… and set the radius to 20px.
9) Set the layer mode to “Soft Light” and Opacity to 50%. Again the result is shown on the left.
10) Save the .psd and textut_01_co.tga.
Done for now!
1) Open up the normal map .psd and copy/paste the “Metal” layer from the color map just above the 50% gray color layer.
2) Press SHIFT-CTRL-U to desaturate it and then Image → Adjustments → Brightness/Contrast to play around with it. CTRL-I to invert the layer.
3) When satisfied, lower the opacity to about 8% and repeat steps 15 through 17 from the Normal Maps section. Have a look on the next page for the result.
1) Load textut_01_co.tga in to Photoshop.
2) SHIFT-CTRL-U to desaturate. Press CTRL-L to open up the Levels panel and play around in the controls until you have an image that looks like the one on the bottom left. The Specular map is a black and white map that defines the shiny/dull surface areas whenever the sun shines on it. You can paint in a few white scratches but keep in mind that you cant scratch the tank like you can your car with a key. Be subtle with your effects! The effects I added can be seen on the bottom right picture. To make them I reused some of the elements of the normal map and the Eraser Tool.
3) Merge all the layers. CTRL-A to select All and CTRL-C to copy it.
4) Open up the Channels tab. Fill the red channel completely with white color.
5) Select the Green channel and CTRL-V to paste the black/white texture.
6) Select the Blue channel and paste again but now press CTRL-I to invert it.
7) Create an alpha channel by pressing the “Create New Channel” button at the bottom of the channels tab. Fill it with white. The result should be somewhat resembling the image on the left.
8) Finally save it as textut_01_smdi.tga .
This is it! All the 2D work is now done. If you check the flow chart on page 2 then you can see that an RVMAT file needs to be set up. The RVMAT file describes the material of the object. The normal and specular maps are defined here.
1) Use EditPadPro or other capable text editor to make a new document.
2) Fill in the text as shown on the left. Refer to the BIS Wiki to further understand what the different variables mean. Also note that all the textures are stored in the P:\ drive add-on folder textut.
3) Save the text as textut.rvmat in the same folder.
Now its time to make it all work. Open up O2 and Create → Plane with default settings.
1) Select the plane and press E to bring up Face Properties.
2) In the texture box locate textut_01_co.tga and in the Material box load up the textut.rvmat. Hit Apply and OK. The view in your bulldozer window should resemble something like the picture on the next page.
Of course this is pretty basic but it should give you a bit of an insight into my methods. The main thing is that you should not be afraid to experiment. Comments and critique are always welcome. You can also send in corrections and additions if you feel like helping out :) I can always update this document.