Originally I was going to describe the finished bump map in this post. However, when I started writing it, I discovered that I have enough materials for at least two subsequent posts. Thus I decided to split this text into this and the next article.
There are many small openings in the aircraft skin. For example – perforation of the SBD Dauntless wing flaps, or small slots for control surfaces actuators. It would require a lot work to model each of such details “in the mesh”. What’s more – it would make the model meshes much more complex, which would hinder the UV mapping, and so on.
Fortunately, there is a much simpler solution for all these small openings. Just draw their shapes as black objects on white background, then use this picture as so-called opacity map (Figure 69‑1):
As you can see in figure above, the final result does not differ from the openings modeled “in the mesh”.
For this opacity map I used a 4096x4096px image, mapped with the same UV coordinates as the bump map (i.e. UVTech coordinates). Below you can see how it is connected to the material scheme (Figure 69‑2):
I also used these black contours in the bump map (they create impression of “metal sheet thickness” around edges of these openings). Of course, if you wish to make extreme close-ups of the model, you can generate from the source Inkscape drawing a raster picture of higher resolution (8192x8192px?). In the extreme cases you can even create a separate UV map for the opacity texture, enlarging the areas around holes and reducing all the others. (I do not need such an extremal solution in this model).
Working on this model, I am drawing the bump map and the opacity map in parallel.
In the previous post I showed how I recreated bump map details of a classic stressed skin: rivets, panel edges. However, the fabric-covered surfaces, like the aileron, require different elements (Figure 69‑3):
As you can see, the background color of this image is darker than in the previous post (it is 75% black). I decided to use it, because most of the elements on the SBD skin is protruding (rivets, inspection doors). To recreate the protruding rib edges, I used a combination of linear and circular gradients (the latter for the circular endings of each rib). These gradients have a sharp, symmetric, parabolic profile. (For details of this solution, see “Virtual Airplane” guide, chapter about Inkscape, section titled “Mapping the fabric-covered surfaces”).
I also used gradients to recreate flanges, stamped around the flap holes (Figure 69‑4):
I set the opacity values in the subsequent nodes of this gradient so that they match the profile of this flange.
For another element I had to use a different solution. The fabric between ribs is tensed like a membrane, so in an aircraft standing on the ground it is flat. However, in the flight it is deformed by the airflow. To reproduce this deformation, I added another shape to the bump map (Figure 69‑5):
First I sketched black shapes in the areas between ribs. Then I used a special so-called SVG filter to blur these areas. (SVG filters are “dynamic” modifiers: I still can turn it off to modify the original contour). Such a blurred shape creates gentle recesses on the rendering.
One note about implementation of these recesses in the bump maps textures. To obtain the effects depicted above I had to intensify the “black” components. The contrast between black areas and 75% black of the background is relatively low in the basic texture (see the fragment of nor_details.png image, presented below). To make these recesses deeper, I had to add another texture (nor_blur.png – see Figure 69‑6):
Pixels from both images are merged in the material schema using Multiply node, thus all black areas in the result image are still black. Before the Multiply node, each texture has its own control node. These nodes control influences of their sources in the resulting bump map image (i.e. in the input delivered to the Displacement slot in the surface output node). The simpler Moderate node can make nor_blur.png darker, while the control node of nor_details.png makes it lighter (the Min value), but simultaneously it can “flatten” its grayscale Range. Comparing to altering the shades of the source image layers in Inkscape such a solution has two advantages:
- You can easier to alter their intensity in the material schema, and you can instantly see the effect on the rendered picture;
- Blender converts output from Image nodes to floating-point numbers, thus you will not lose any contrast from the source image. (In Inkscape every elementary color component is converted to a byte integer 0..255, thus when you decrease color intensity range, it can lose some of the image contrasts);
Of course, I can also decrease depth/height of a single element (for example – recesses of the fabric surface between the ribs) by reducing its opacity in Inkscape. However, to apply such a change, you have to export the new version of the texture image from Inkscape and refresh it in Blender. It requires more “clicks” than altering of a single slide in the material scheme. On the other hand, I did not want to use too many images in the material schema. Thus I decided that I will use two source bump maps in Blender. I expect that I will alter their intensities more often than the others.
Figure 69‑7 shows the updates that I made in this post, on the model:
As I mentioned before, the rivets and panels seams created by the bump maps are visible from a relatively narrow field of view. The camera used to create the picture above was outside this area. They will become more visible when I apply other textures (reflectivity map, color map).
In this source *.blend file you can evaluate yourself the current version of the model. Note, that the enclosed texture images covers just the wing (BTW: it had a hell of inspection doors on its lower surface!). There is no image for the tailplane, nor for the fuselage, yet. I will finish these areas and describe in the next post, which will appear in two weeks.