Creating Textures: Color (Diffuse) Map (1)

The color (also known as “diffuse”) map is the most obvious texture, which you can find on every model for games. In my models it is composed of three separate images: the camouflage, the dirt (stains, soot, etc.), and the markings (national insignia, tactical numbers, warning labels, and all other similar stuff). In this post I will compose the basic camouflage texture.

Some time ago I unwrapped the left side of this model (see this post, Figure 62-3). Now I had to complete this work, creating remaining elements of the right side, and unwrapping them on the UVMap layout. The final result looks like the model in Figure 74‑1:

Figure 74-1 The right side of the model, mapped on the UVMap layout

For the precise mapping, I used here the color grid image, which I already used in my previous posts. Note the different square colors on the left and right wing, as well as the different letters on the right and the left tailplane.

The complete UVMap layout looks like in Figure 74‑2:

Figure 74-2 Modified UVMap layout

In this layout the areas occupied by each mesh are smaller than in the alternative UVTech map. However, while in the UVTech layout both wings and the tailplane are represented by their left sides, in the UVMap layout each of them has a separate place. However, some elements are intentionally placed over another. For example – the inner walls of the “letterbox” wing slats.  In this layout I unwrapped their upper faces over the wing upper surface, while the remaining faces partially “touch” the wing lower surface. (In this way I ensured, that the color of these less visible elements will match the surface around them). There are some other elements, placed over the wing or fuselage in this UV layout.

I will paint the camouflage and dirt textures for this model in GIMP. First I imported the UVMap layout from Bleder, and used it as the reference picture (Figure 74‑3):

Figure 74-3 GIMP: using the UV layout as the reference

Note that I have a separate UV layout for each SBD version (although they are similar to each other). All of them are grouped in a layer group named UV. To be more visible, it is applied to the underlying layers in the Multiply mode.

GIMP is a raster image editor (like the popular Adobe Photoshop). This means that at this moment you have to choose the resolution of your all color textures. (You cannot scale it up without losing the image quality, as you can in the case of vector pictures created in the Inkscape). For this model, I decided to paint all textures as 4096x4096px images. (I still remember that I for my P-40 I regretted choosing two times smaller dimensions for my color textures).

Converting the alpha channel of the reference (UV) pictures into the initial selection, I quickly painted the classic two-color Navy camouflage (as used between 1942 and 1943). First I painted the whole model in the light gray (the color of the lower surfaces). I placed this picture on the layer named Lower (Figure 74‑4):

Figure 74-4 Painting the basic camouflage (GIMP)

I exported the contents of the Camouflage layer to a file named camo.png, and tested it on the Blender model, in the Textured mode (Figure 74‑5a):

Figure 74-5 Checking camouflage details (Blender, Textured view mode)

In this view you should look at the all edges that are mapped as the “borders” of the UV “islands”. In the enlarged view (as in Figure 74‑5b) you can easily see the missing pixels, which are displayed as black spots. I also carefully examined the border of the camouflage colors: there is always a local excess somewhere, which you have to remove in GIMP. I did this check having Blender window on one display, and the GIMP window on another. When I saw an error in Blender, I immediately fixed it in GIMP. When the source picture “accumulated” a few of such fixes, I refreshed its image in Blender. (As long as there are no painting layers in Blender, I still prefer to correct such errors in the GIMP source file).

When the image was verified, I incorporated it into the material scheme (Figure 74‑6):

Figure 74-6 Incorporating camouflage image into the material scheme

As you can see, I used an Attribute node to select the proper UV mapping (UVMap). The texture image is connected to the Diffuse slot in the generic shader node group (X.Textured Skin). For the time being I mixed it with the black anti-slip strip, “filtered” (by the Clamp node) from another picture (ref-aux.png, see this post, Figure 73-9). I will use it in this way until I paint this strip on the color image. Note that Blender allows you to mix images that use different UV maps (ref-aux.png texture uses UVTech mapping). It opens interesting possibilities for precise mapping of detailed emblems (as the squadron/personal insignia).

I already checked how the upper blue-gray surface looks like in previous post (see its final renders). Thus now I focused on the lighter, lower surfaces. Most of the things look good In the full sun, so I rendered the shadowed area of the tail (Figure 74‑7a):

Figure 74-7 Improving color range between the brightest and the darkest shades of the picture

Both paints used in this camouflage were non-specular (i.e. they have low reflectivity and high roughness). For such a surface in a shadow, the most visible texture is the color map. In our case (of the X.Textured Skin group), it means the color texture and the “dirt” component from the reflectivity texture. (X.Textured Skin group internally maps pixels from its Dirt slot onto the color texture, using the Multiply operator).

The technical details of the tail (rivets, seam lines, inspection doors) in Figure 74‑7a) are dimmed and hardly visible. It seems that rendering engine has troubles with such scenes, where the harsh light is accompanied by deep shadows. Thinking how to improve this effect, I thought about one of Blender Guru tutorials, about so-called dynamic range (the difference between the darkest and the brightest point in the picture). Blender Guru explained that the problem lies not in the renderer (Cycles), but in the another area: the color management. Following its recommendation, I installed alternative color management tables in my Blender. These tables were prepared by Troy Sobotka. You can download them from the Filmic Blender project site. The setup is simple ­– I just had to replace the contents of Blender datafiles\colormanagement directory with the new files, provided by Troy. Although this package was mainly intended for indoor scenes, they still can somewhat improve such an outdoor scene like mine. You can see the result in Figure 74‑7b). The surfaces in the shadows now seems a little bit brighter and more natural. (IMPORTANT: to see it, you need a device which displays true 24-bit colors. For example – it can be an LCD display that uses the IPS technology. The less expensive LCD monitors, like those used in typical laptops, display only 18-bit colors).

When I started preparing references (archival photos) for the next color texture (the “dirt image”), I realized that the actual dirt pattern from my reflectivity map does not match the reality (Figure 74‑8):

Figure 74-8 Differences in the dirt pattern

Of course, the archival photo on the left reveals a lot of soot streaks and other dirt, which I still have to paint. Nevertheless, the overall pattern visible on the real outer wings significantly differs from the pattern on my model (you can see it in the right picture). There were no soft “traces” along the rivet seams, as I painted on my model. The panel lines were more emphasized (some of them by the thick streaks, but this detail I will paint in the next post).

Actually, the whole dirt on my model comes from the reflectivity texture (ref-details.png image). As you can see in the scheme from my previous post, I connected the inverted content of my ref map to the Dirt slot. (Internally, pixels from this slot are multiplied with the pixels from the Diffuse slot – i.e. from the color map). Following these findings, I modified the source of the ref-details.png image – the Ref-Details layer in Inkscape (Figure 74‑9):

Figure 74-9 Modifications, applied to the reflectivity texture (ref-details)

You can find this picture in the Inkscape source file that accompanies this post. I modified it by reducing the opacity of soft traces along rivet seams (the Blur sublayer), while increasing visibility of the panel lines (the Grunge sublayer). The white highlights of the rivets, which look good on the darker upper surfaces, disappear now on the lighter bottom of the wing. Thus I modified this element, adding there an additional clone of the rivets seams. I set its color to into black (using SVG filters), and clipped (using SVG mask feature) to the areas of the bottom wing and lowest parts of the fuselage.

You can see the effects of this new ref/dirt texture in Figure 74‑10:

Figure 74-10 Updated reflectivity (and “dirt”) map on the rendered model

All the technical details are more visible now. The discrete soft treads along the rivet seams still appear in the shadowed areas, but vanish in the harsh light (Figure 74‑11):

Figure 74-11 The shadowed side of the model

In overall, this model seems to be cleaner than it was at the end of the previous post. (It looks like a factory-fresh aircraft). I will work on this issue (by adding more dirt and weathering), and report my progress in two weeks.

In this source *.blend file you can evaluate yourself the current version of the model, and here are the Inkscape and GIMP source files of its textures. Because of the large size of the original GIMP file (*.xcf), this post is accompanied by its smaller version (2048x2048px), packed into *.zip file. I think that such a version is sufficient for checking all the details of this image (the structure of its layers, their opacities and mixing functions). The resulting textures (4096×4096) are packed into accompanying Blender file.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s