Enter keywords or a search phrase below:

SBD Dauntless

196 replies
1 rating 2 rating 3 rating 4 rating 5 rating
  • Member since
    June 2014
Posted by Witold Jaworski on Saturday, September 17, 2016 3:05 PM

The progress of my work in this month will be relatively slow, because I still have some additional activities linked to my “daily” job. Nevertheless, it is going on.

The original texture map (UV map) finished in the previous post (as in figure below) is appropriate for the color textures (camouflage, national insignia and other markings). In this mapping various parts of the airplane overlap each other, so the pattern of the test image remains continuous:

While such an arrangement makes the camouflage painting easier, it would be impossible to use such a map with overlapping elements for another important texture: the image of the aircraft skin details. In this post I will shortly describe, how I prepared an alternate UV map for this purpose.

I am going to recreate all the panel seams, rivets, and hatches that you can see in the reference drawings using a height (bump) texture. The final effect will look as good (or even better) as with the details modeled “in the mesh”, while drawing these elements in 2D is much simpler and requires less work than the modeling in 3D. What’s more, I will use this image as the base for other important textures (reflection texture, transparency texture).

I prepared for this texture an alternate UV map:

To get decent results even in the close-ups of the final model, I need for the texture of the technical details a high resolution image. The simplest way is to enlarge the image, but it consumes the computer memory and increases the rendering time. To make better use of the available image space, I “packed” all the airplane elements more tightly. I also used another trick: because the left and right side of this airplane differ only in a few relatively small areas, I decided to map here only the left side of this model. I will use the same map for the right side. Later I will map the few faces from the right side that contains the differences in the empty fragment of this image.

To determine new size and locations of all model parts on this new map, I copied in Inkscape the UVMap layer (see previous post) with all its sublayers. I named this alternate map UVTech. I played for a while with the wings and main part of the fuselage. Ultimately I decided that I have to enlarge their size by uniform coefficient: 130%. The same coefficient applies to all other model parts. (The most important thing is to keep all these elements in the same “scale”. Otherwise you would have on the final texture rivets of different sizes, and other, similar errors). Then I moved and rotated some of the model elements, fitting them into the available space. In this way I created the first approximation of the new alternate UV map:

Using fragments of the scale plans, I also prepared an alternate reference picture that matches this layout (you can find it in the Blender file, linked at the end of this post). I used both of these pictures in creating this UV map in Blender.

To create an alternate map (named “UVTech”) in Blender, I had to repeat following steps for every mapped mesh in the model:

  1. Copy the existing UVMap into new map, and rename it to UVTech:

  2. Resize the mesh faces on this new map by 130% (I typed the exact value of “1.3” using the keyboard input feature):

  3. Place the enlarged mesh faces as in the reference drawing:

Sometimes during this process I introduced small improvements: for example, I decided that I can shrink the areas on the control surfaces leading edges. (They do not contain any details, and are obscured by the wing or the stabilizers). It allowed me to fit these elements into the reference drawing:

When this work was over, I replaced the contents of the UVTech layer in Inkscape with the final shape of the UVTech map. (I exported it from Blender as an SVG file, as I did in the previous post).

In this source *.blend file you can evaluate yourself the current version of the model, and here is the Inkscape file.

In next week I will start to draw the image of the technical details of the aircraft skin.

  • Member since
    June 2014
Posted by Witold Jaworski on Sunday, October 2, 2016 2:26 PM

I always start drawing the image of the aircraft skin by tracing the lines of the main panel seams. They will form a kind of reference “grid”, which later I will fill with other details: rivet seams, inspection doors, etc.

I will draw all these technical details in Inkscape, because it is much easier to modify such shapes in this vector-based program than in GIMP, which is mainly intended for the raster images. What’s more, I can export this scalable vector graphic from Inkscape to a raster image of any resolution.

Initially I prepared in Inkscape an empty drawing, set up its layer structure, and placed the appropriate links to reference drawings on the UV and Reference layers:


I duplicated here the basic structure for the detailed bump map, which I worked out during my P-40B project. It is explained in all details in the “Virtual Airplane” guide (chapters 3 and 4 in Vol III, or chapters 6 and 7 in the complete edition). In this case I just used the hierarchical layers feature for grouping the related layers (in Panels, Fabric) together. (This feature was introduced in the latest Inkscape 0.9x, while the guide was written earlier, using older versions of this software).

Although I placed my scale drawings in the background, as the reference material, I will not treat them as the “ultimate truth”. Everybody makes errors, so do I. The only method to eliminate most of them is to check every detail as many times, as you are able. For example *– see the bent sheet metal strip that runs around the wing tip edge:


When I sketched it on the scale plans, it was a minor detail. Its width was not much larger than the width of the thicker line that I used to trace the outer silhouette of the aircraft. Thus I did not studied the photos carefully enough in that time, and drew this strip too thin. Now I have an occasion to look on the source photos with a “fresh eye”, and correct the width of this strip. However, I cannot just offset the original contour from the scale plans. To match the UV layout of the wing, I have to give this curve somewhat different shape that follows the unwrapped area around the wing leading edge (as in figure above).

Well, there is no any “magic” way to do it: I have to keep open Inkscape and Blender side-by-side. In Blender I mapped as the texture the initial image exported from Inkscape (and turned on the option that displays it in the Object/Edit mode). Once I modified this wing tip curve in Inkscape, I had to export the whole drawing to a raster file, and then to reload it in Blender. Fortunately, such a transfer takes no longer than 2-3s. Such an arrangement allowed me to make quickly several iterations, resulting in the proper shape of the curve on the 3D model:

To see better the lines on the model, I drew them in red. Fortunately, the rest of the panel seams runs across relatively flat areas, so they match the scale plans.

Of course, I also matched their locations against the reference photos (I set up them some months ago, and described it in this and subsequent posts):


Fortunately, there were only slight differences, which I quickly introduced to my Inkscape drawing. Such a “double-check” ensures, that the lines are in the proper places, and I can safely fill this image with minor details. However, the common sense tells me, that I should map the panel seam lines on the whole aircraft, first. There is always a chance that I will encounter something unexpected during this process.

Dauntless had large wing flaps, and one of their prominent features were the rounded holes, that perforated their surface. Distribution of these holes determines the location of the internal reinforcements of these flaps, and the corresponding rivet seams. Thus these holes are as important as the panel seams. I started to draw their first row using a special, dotted line:

Although Inkscape does not offer any UI for user-defined dotted lines, I used its XML Editor feature to create a dotted line pattern that matches the holes in the Dauntless flaps. I used here the same method that I worked out for the rivet seams. (See “Virtual Airplane” guide, Figure 3.1.11 in Vol III, or Figure. 6.1.11 in the complete edition, and the further pages referenced there).

Once I drew the first row, I matched it against the reference photos (Figure 64‑5). After a few iterations I received a satisfactory approximation. (Due to various unknown second-order photo distortions, there location of these holes is a kind of “compromise” between various photos and the known location of the flap ribs. The latter were explicitly dimensioned on the Dauntless stations diagram, as you can see Figure 8-3 in this post).

When I matched the first row of the holes, I copied them into another two rows, which I matched against the photo. The final results differ from my scale plans:

It looks that on my scale plans I made a kind of systematic error in calculating ribs stations from inches to drawing pixels. (Since that time, I already made numerous adjustments in this area – see Figure 15-8 in this post, Figure 17-5 in this post, and Figure 31-5 in this post).

The general panel layout on the wing top surface is similar to the panels on the bottom. Thus I copied (and mirrored) their lines from the bottom surface. It required just a few minor adjustments to match their drawing to the photos of the wing top surface:


(I was really happy that I did not have to match again the wing tip strip against the photo. The curve copied from the bottom surface fits the top surface quite well).

For the further test, I created a copy of the texture image with a semi-transparent background. It makes the model surfaces transparent (as in figure "a", below):


I used this effect to check if the panel seams that runs along the wing spars on the top surface match their counterparts on the bottom surface (as in figure "b", above). (It will be useful, when I start to recreate the wing internal structures).

During further checking of the results, I noticed a minor error on the leading edge:


This is a side effect of the corner in the mesh seam, which does not run along a “sharp” (Crease = 1) mesh edge. Unfortunately, I have to keep this edge smooth, because it controls the proper shape of the wing leading edge, especially in the top view. There are two solutions: 1. add two additional “ribs” on both sides of this wing tip rib, to remodel this mesh fragment, 2. create the strip along the wing tip as a separate object, and placed it on the main mesh. I still have to decide, which solution is better.

Figure below shows the results of this week: the panel lines of the wing and the image of the flap perforation:


In this source *.blend file you can evaluate yourself the current version of the model, and here is the Inkscape file.

Next week I will map at least the wing center panels and its flaps perforation. (Maybe I will do more – but I am still short of time due to a certain project in my daily job).

  • Member since
    June 2014
Posted by Witold Jaworski on Sunday, October 16, 2016 2:04 PM

This week I continue mapping the SBD-5 Dauntless skin panels onto my model. After tracing the outer wing sections, described in the previous post, I traced the center wing section:


As you can see in the picture, I also traced the contours of the wheel bay on the wing surfaces. (These openings disappear, when you enter mesh edit mode, because they are dynamically created by Boolean modifiers. Thus such contours will be useful during further work, because in this way you can see these edges while editing the mesh).

I also outlined contours of the bomb bay panels, which are modeled separately “in the mesh” (every panel is a separate Blender object). I did it, because the panel lines that I draw on this image will be used as the input for various final textures. In some case I will use them as the source of “dirt” that occurs around every cleft in the aircraft skin. These thick lines will provide a decent effect on the textures.

Of course, I also used the reference photos to verify panel locations:


When I compared panel lines in the photo and my scale plans, I discovered that I have to make some corrections. There was a significant difference in the size of the fuel line covers (see figure above). In the real aircraft they were somewhat larger than on my drawings.

In similar way I mapped the empennage panels. The growing number of identified differences between the reference drawings and real airplane forced me to use these panel lines as a kind of additional reference picture. That’s why I also decided to trace the ribs on all of the aircraft control surfaces.

Once I mapped these details, I started tracing fuselage panels. First I drew their “horizontal” lines that run along the longerons:


Fortunately, it was quite easy, because during the modeling phase I intentionally placed some edges of the fuselage mesh along rivet seams. Now this effort pays off.

Then I verified these new lines on the reference photo. I discovered that while the aileron and elevator ribs on the photo match my scale plans, the rudder ribs have different locations:


I also noticed another difference in the upper part of the tailplane fairing. Its outer edge runs along one of the fuselage longerons. In my model it is placed somewhat higher than in the photo:


When the other fuselage lines match their counterparts on the reference photo, this difference means an error in the shape of my model. I analyzed this area, and I started to suspect that the gap between the real line and line on my model is caused by the difference in the fairing shape. However, to be sure, I needed more evidence to proof this hypothesis. I carefully checked all available photos of this area:


Ultimately, I had found that the upper edge of the tailplane fairing is too high. In my model it overlaps the longeron line, while it should be adjacent to this panel seam. Lowering this edge will decrease the fillet radius in the upper area of the horizontal stabilizer fairing.

Well, it means that I have to revert to the modeling, and adjust the shape of this part:


I did most of the modifications shown in figure above by shifting mesh vertices along their edges. Fortunately, this command has an “update UVs” option, which automatically updates the mesh UV layout. Thus when I updated the fairing mesh and I looked on its UV map, the mesh was already updated there. I just had to export it to the reference image, and shift few lines into new location (as in figure "a", below):


After these modifications, fuselage panel lines match the photo (as in figure "b", above).

I had another kind of troubles with the lower part of the fuselage, behind the wing trailing edge. The UV layout of this mesh fragment has a significant distortion. A straight line on the model maps to a curve in this area. What’s more, I had to split this area (using seams) into two separate parts, which also creates some continuity issues:


It was quite difficult to find a proper curve on the UV plane that transforms into a straight line on the model. This process required several iterations. After I managed to keep shapes of these lines within acceptable tolerance, I identified another difference between my model and the photos: a short seam below wing fairing trailing edge (see figure above). While in the real airplane it was a nearly straight line, in my model its rear part reproduces the conical shape of the trailing edge cross section. I suppose that this fuselage area had a visible deviation from the “ideal” conical shape, caused by the technological constrains. (It is difficult to apply such a more pronounced curvature, as you can see in my model, to the aircraft skin stringer). I will deal with this issue in the next post.

Figure below shows the complete set of the panel lines, mapped on the SBD-5 surface:


I still have to map the differences that occur in the other Dauntless versions (SBD-1, SBD-3). Frankly speaking, I started to note some variations in the layout of the fuselage panels between various restored SBDs. Sometimes it is difficult to distinguish the real, historical differences between various versions from the side-effects of a particular restoration.

In this source *.blend file you can evaluate yourself the current version of the model, and here is the Inkscape file.

  • Member since
    June 2014
Posted by Witold Jaworski on Saturday, October 29, 2016 2:54 PM

This post is a small digression from the main thread – I will write here about a new method for recreating geometry of historical airplanes.

In one of my previous posts I complained that it is hard to find any reliable drawings of the historical propeller blades from the middle of 20th century. In particular, the geometry of various popular Hamilton Standard propellers from WWII era is unavailable. I have found in a discussion on one of the aviation forums that Hamilton Standard Company still keeps this data as their “business secret” – even their design from 1936!

So far, all we had were the photos *– but it is really difficult to precisely recreate from a few pictures such a twisted, complex shape as the propeller blade. However, it seems that there is a new hope! Two years ago I encountered on Blender Artists forum an interesting project. The Author of this thread (nick: NRK) used one of the general photo-based 3D scanning methods to obtain a spatial reference of a C-47 aircraft. Although this is not the SBD Dauntless, it seems that its Hamilton Standard propeller blades are similar to the blades used in the earlier Dauntless versions (SBD-1 .. SBD-3). Thus I asked NRK for the part of his 3D scan that contains the propeller. He sent me it within a few weeks (thank you very much, Nick!). Below you can see the picture of this blade and the contents of the 3D scan:


Note for the C-47 buffs: it seems that this aircraft used two different types of the Hamilton Standard blades. Most of the C-47s used wide-blade propellers, similar to those from the B-17 bombers. However, it seems that some of the C-47s used older, thin-blade propellers, which you can see in the aircraft from the picture above. For example, I have found similar blades in another C-47 from Commemorative Air Force, which was built in 1944.

NRK’s 3D scan recreates only the upper (i.e. forward) propeller surface and its leading and trailing edge. However, it is still usable, because in most of the blades from this era their lower (i.e. rear) surface was flat. In this NACA report 642 (from 1937) I have found some tips about the airfoil used in the Hamilton Standard propellers: it could be R.A.F-6 or modified NACA-2400-34. Because the NACA-2400 had convex lower surface, I ultimately decided to use the R.A.F-6 airfoil:


R.A.F-6 is one of the pioneer airfoil shapes, designed in 1912. In that times engineers did most of the aircraft drawings with a chalk on the workshop floors. Thus the data points for this airfoil are relatively sparse, and leave some space for the handcraft – especially along the leading and trailing edges. I smoothed them using subdivision (i.e. B-spline) curves.

I connected this the R.A.F-6 airfoil to a circular base, creating in this way the initial segment of the propeller blade:


Then I fit this segment into the reference mesh:


As you can see on the picture above, the surface obtained from a 3D scan contains plenty of small irregularities. However, their presence helps to estimate the tolerance (i.e. the range of the shape deviations from the real surface) of this reference.

I formed the blade using the same methods as described in this post: by extruding and adjusting subsequent “ribs”. First I recreated the general contour in the front view:


I formed the tip using the same methods as in this post: first I put an auxiliary circle (as an additional reference), then I connected the leading and trailing edges around this shape: 


Then I rotated this blade a little, placing the tip surface on the reference surface: 


At this moment the tip is the only fragment of the blade that fits the scanned surface: all the other blade segments are below or above it, because they are not twisted (yet).

I will twist this blade using curve modifier (as I did in this post). Thus I created such a curve: 


Initially it was a straight line, placed on the blade axis (as in figure "a:, above). Simultaneously it lies on the rear (flat) blade surface (Because I placed all of the blade sections above its axis *– see the third figure in this post).

The blade of such a shape is not balanced – the centrifugal force would tore it off from the propeller hub. To avoid this effect, all blade cross-sections should have their centers placed on the blade axis. Thus in the side view the blade should resemble a symmetric triangle. I sketched its contours in figure "c", above) using white dashed lines. To fit the lower (rear) blade surface to such a line, I deflected the deforming curve downward (rotating it around the tip – as in figure "b", above). However, to simultaneously fit the blade upper surface to the top contour, I had to alter the thickness of its airfoils (see figures "c" and "d", above).

Figure below shows the resulting, “balanced” blade (it is still not twisted): 


Finally, I twisted this blade by twisting subsequent vertices of its deforming curve. I did it until the leading and trailing edge fit their counterparts on the reference surface: 


It was the last step of this process. You can find the resulting Hamilton Standard propeller blade in this source *.blend file.

Although it is still based on some assumptions (for example – the airfoil shape), this is much better approximation of the real shape than my previous attempts.

  • Member since
    December 2013
Posted by Befudled on Monday, October 31, 2016 12:48 PM

Wow, this is fantastic! It looks like a lot of strenuous work goes into the making of virtual aircraft. It's very intriguing to see what goes into making one. Your attention to every detail is striking. Well done!

  • Member since
    June 2014
Posted by Witold Jaworski on Sunday, November 13, 2016 12:39 PM

Befudled - thank you! Well, as in the case of the "real" models there is alwyas a "quick way" for the less detailed replicase, and the "slow road" to the more precise works. The only difference is that you can make these digital models as detailed, as you wish. The only limits are your own skill and patience. Usually I determine the target level of details before I start recreating a new aircraft. This one has to be detailed.

  • Member since
    June 2014
Posted by Witold Jaworski on Sunday, November 13, 2016 12:40 PM

In every creative process, after each “big step forward” you have to stop and carefully examine the results. Usually you have to make various corrections (sometimes minor, sometimes major), before taking the next step. This post describes such minor corrections that I had to make after mapping the key texture of the panel lines.

In my first post published in October, I drew the panel lines on the model, then compared them with the photos. Sometimes a minor difference between their layouts can lead to a discovery of an error in the fuselage shape. I in that post already found and fixed an issue in the shape of the tailplane fillet.

I also mentioned (see Figure 65‑9 in previous post) that I can see a difference in the bottom part of the wing fillet. Now I would like to resume my analysis at this point:

As you can see in the photo (figure "a", above) the shape of one of the seams on the bottom of the trailing edge (in red) differs from the photo (yellow dashed line). In my model this seam contains two segments figure "b", above): a straight line, corresponding to the flat, bottom surface of the fuselage, and a curved segment, resulting from the cross-section of the rounded trailing edge. From the geometrical point of view, such a shape is absolutely correct. However, it differs from the real airplane. Why?

Well, we should never forget about the way in which such an aircraft structure was built: there were fixed bulkheads of a fixed, determined shape, and the stringers (stiffeners) between them. It was possible to bend a little such a stringer between two subsequent bulkheads. However, the resulting curve always had a shape similar to a uniform, gentle arc – as you can see in the photo (figure "a", above). The combination of the straight segment and a curved segment (as in the model from figure "b", above) would require at least an additional bulkhead between these two segments. All in all, the real shape of the aircraft was not as ideal as you can see in my model. I had to modify its shape in this area.

Figure below shows the fuselage mesh before and after my modifications:

As you can see, in the final version I split the bottom of this fuselage into much more faces. It was one of these cases, when you try to change a single detail, then it occurs that this modification causes a “network effect”. Initially I rearranged faces on the fillet trailing edge, creating two additional n-gons. It improved the shape of the seam line. However, this removed small crease edge that was “fixing” the deformation around seam corner. Thus I had to find another place for the seam… Well, the resulting mesh does not look especially elegant, but it finally creates the desired effect.

Figure "a", below, shows details of my new concept for unwrapping this area in the UV space. I had to reduce the low-distortion area behind the wing. Actually it is just large enough to contain the identification lights. (It would be extremely difficult to obtain their circular frames on the highly distorted faces “glued” to the main part of the fuselage):

Figure "b", above, shows the modified UV layout of the fuselage mesh. This time I was able to not break any of the panel seam lines in the middle. Actually the new UV seam crosses just a single rivet line. (It does not create as many further complications as in the case of the crossed panel line).

Below you can see the panel lines on the updated model:

After so many modifications applied to the fuselage mesh, it is a good idea to check if they did not spoil something in the alternate UV layout. (This is second UV layout in this model. As you can find in the previous posts, I created the first UV layout, named UVMap, for the other textures, for example – for the camouflage).

Indeed, when I switched the current UV layout from UVTech to UVMap, I saw that I have some troubles here:

The primary reasons of these troubles are:

  • Substantial modification of the mesh topology in this area (some of the original faces that were mapped in this layout have disappeared);
  • Alteration of the seam line: seam lines are shared between UV layouts. I altered the original seam to another edge loop, while working on the UVTech layout;

In the effect, now I have now some highly distorted and stretched faces in the UVMap layout (as you can see in figure above).

To fix this flaw, I modified the UVMap layout. I had to accept that there will be some distortion of the texture image on the bottom wing fillet areas, as you can see in figures "a" and "c", below. I decided that such a distortion is passable for the color textures (for the technical details I will use another, UVTech layout).

An important element of the UV layout for color textures is the location of the seam lines. (The unavoidable color differences between separate parts of the texture image always occur along the UV layout seams). Usually I try to hide them, marking as the UV seams the mesh edges that run along a panel seam (see Figure 60-2, in this post). That’s why I cannot use here the seams from the UVTech texture: they run across a “blank” area of the aircraft skin. However, there are no appropriate panel seams in this area. Thus I when I decided to create an additional seam, I placed it along one of the rivet seams (as in figure "a", below):

Then I had to modify the layout of the mesh faces in the UV space (figure "b", above). (I used a little Blender trick to quickly obtain such an effect. First I temporarily removed the seams from the alternate UVTech map. I also removed all the “pins” from the vertices around this seam. Then I invoked the “Unwrap” command, and all the mesh faces “reorganized” themselves around the new seam. Finally I had just to pin them again, and restore the removed seams from the other mappings.)

However, it seems that I went in my modifications too far, when I “improved” the upper part of the wing fillet:

I deformed its original, conic shape, unconsciously reducing the cross-section radii of this surface over the wing upper area. It seems that I had forgotten to look on the photos. Now I have to fix this error.

To ensure that the shape of the panel lines in my model will match the photo, I placed in the model space some auxiliary “stiffeners” (figure 'a", below):

The reference photos were a great help here: some of them depicted these stiffeners in the side view, the others – in the top view (figure "b", above). I used these pictures to precisely determine locations of these seams in the 3D space.

Using my auxiliary objects, I was able to recreate the wing fillet with greater precision:

As you can see in the figure above, I also created two auxiliary conical segments. They provide me a kind of “indicator” of the differences between the “ideal shape” and the fuselage surface.

Figure below shows the results. Because there are no panel seams along the inner stiffeners of the wing fillet, I drew their rivet seams on the model texture. As you can see, they match both reference photos:

In this source *.blend file you can evaluate yourself the current version of the model, and here is the Inkscape file.

Within two-three weeks I should prepare the first texture. It will be the bump map.

  • Member since
    June 2014
Posted by Witold Jaworski on Friday, December 9, 2016 3:25 AM

Small update: since November I am engaged in a time-consuming project in my daily job.
I will resume my work on this model in March 2017.

  • Member since
    June 2014
Posted by Witold Jaworski on Sunday, March 26, 2017 9:36 AM

OK, I completed in March my "daily" project, so I am back at my work here.

In this and the next post I will describe my work on the first of the textures required for the SBD Dauntless model. It is called bump (height) map. I use it for recreating all of the minor details that are visible on the aircraft skin.

However, before I begin this work, I had to put my model into more “natural” surroundings. I imported the environment (World) and the material settings from my previous model (the P-40). You can see the initial results below:

Of course, the propeller of this aircraft is static, and there is nothing in the cockpit and under the engine cowling. Do not worry, this is just the first approximation! The principle is that you should work with the materials in the final environment. Otherwise the final result may not look as you want. In this case there is an outdoor scene, full of the sunlight. (Every painter will tell you, that everything on the picture depends on the light: many details would look quite different in the indoor lights and their soft shadows).
As you can see, I decided to start this work with an ideal, smooth and shiny material. Each new texture that I will apply will make it more realistic.

Note for those, who will examine the contents of the Blender file that accompanies this post: I am using the Cycles renderer to create this one and the future pictures. (Cycles is one of the Blender rendering engines). The node-based schemas of its environment and materials are quite complex. What’s more, I modified them after importing from my P-40 model, temporarily removing all of the original P-40 textures, and disconnecting many fragments that initially are not needed:

If you would like to analyze details of this setup – you can find its step-by-step description in vol. III of the “Virtual Airplane” guide. It shows how to obtain the required effects, and also discusses some of the possible alternatives.

Creation of the bump map resembles work on a new scale plan. I am drawing it as the scalable (vector) drawing in Inkscape, adding new details to the picture that I started in one of the previous posts. Keeping the source picture of this texture in the SVG format allows me to quickly generate image of any resolution.

I decided that it will be much easier to use the same texture for all of the SBD versions. Thus I had to shift the UV maps of some version-specific elements (mainly the engine cowlings) into the other, unused areas of this UV space.

Then I had to fill the areas between the panel lines with rivet seams, bolts and various inspection doors. I stared with the center wing area. I used the reference drawings (scale plans and the UV mesh layouts) to create the first approximation of these lines:

Technically, I sketched the rivet seams as dotted lines, using a customized dot pattern. (You can find how to do it in the “Virtual Airplane” guide, in the chapter about Inkscape, section titled “Drawing a dotted line (rivets)”).

Then I matched these seams against the reference photo. Initially these rivets were in red, because this color makes them more visible against the background picture:

During this work I had both: Blender and Inkscape windows on my screen, side-by-side. On the reference photo in Blender I could see the differences between the real rivet seams and my drawing. Using these findings, I updated accordingly the drawing in Inkscape. Then I exported it from Inkscape as a new version of the *.png file, reloaded it in Blender, and looked for the remaining differences. Refreshing the mapped image with these “export+reload” commands is quick and requires just two mouse clicks, and one keyboard shortcut in Blender. Usually I need between 3 and 6 of such iterations to obtain a satisfactory match between my drawing and the photo of the given part of the aircraft.

When the rivet seams are in place, it is good idea to check if the internal ribs and spars fit their lines. (While working on the wing, I created a few of these internal reinforcements inside the wheel bay *– see figure below):

In the 3D View mode Blender draws the texture on both sides of the surface, so such a comparison is pretty straightforward. To see the rivet seams “through” the elements being verified, I switched their display mode to Wire. When I identified a difference, the rule was that the rivet seams are in proper location (because they were already verified against the reference photos, while these ribs and spars were based just on the reference drawing). In the case depicted above, I had to move forward the front spar (by less than 0.5”).

When I verified all the rivet seams from the current area, I switched their colors. Because the leading edge of the SBD wing had smooth finish with flush rivets, I created for them new sublayer, named Flush. These seam lines are black. The remaining rivets had classic (dome) heads, thus they are white. I placed them on another sublayer named Dome. I also added to this drawing the inspection doors and the fuel filler cover:

In the bump map texture, the shade of the gray determines the height of an area. The highest element is white, while the lowest is black. Thus I switched the background color of my Inkscape drawing to the neutral gray (50% black + 50% white). Then I could recreate the aircraft skin panels. In the SBD Dauntless these panels overlapped each other. To achieve this effect, I used areas filled with linear gradient:

In this fragment of the aircraft skin I used only areas filled with vertical gradients. I placed them on Panels:Vertical sublayer. (In more general cases, I will also use another set of panels, from :Horizontal sublayer). There are always some sheets riveted atop other panels. In this drawing, I drawn them as the lightest areas, placed on Overlays layer. To decrease variation of the rivets height between the darker and lighter areas, I made their layers partially transparent. (See more details of this method in the “Virtual Airplane” guide, in the chapter about Inkscape, section titled “Mapping construction details of airplane surfaces”).

As you can see in the figure above, I also sketched various minor openings in the aircraft skin. Initially they are red (just for easier matching against the reference photos). Ultimately the verified elements from this layer are black. I will use them not only for the bump map, but also for another auxiliary texture: the opacity map (you will see it “in action”, soon).

OK, let’s check how this first fragment of the bump map looks on the model. I exported it from Inkscape as a raster image (4096x4096px) named nor_details.png. Then I added to the material schema an Image Texture node, which represents this image. It is connected to the Displacement slot in the material output:

As you can see in the figure above, I selected one of the available UV maps by name *– using the Attribute node. Usually in my schemes it is accompanied by a UV Fallback node. This custom (group) node provides the default UV map for the meshes that do not have the UV map specified in the Attribute node.

You can evaluate the results below:

The first thing that I noticed: the dark gray dots that I used to emulate the flush rivets should create less visible seams. Currently their rivets seems too deep – so I should make these dots lighter. The same applies to the small bumps around bolt heads (visible on the covers).

You can see the details created by the bump texture when you place the model between the camera and the sunlight. (Check it, playing with the rendered model that accompanies this post). These skin details can completely disappear, when you look at the model from certain directions. As in the real world, all these rivets and panel seams are mostly visible not because of their shape (recreated by the bump map), but because of the small amounts of dust and dirt that accumulate around them. In one of the future posts I will recreate this effect, using the reflectivity texture. For this purpose I will reuse most layers from the bump map image.

In this source *.blend file you can evaluate yourself the current version of the model.

As you can see in this post, you have to draw a lot of details while preparing the bump map. (I think that this is the most time-consuming texture). However, nearly all of the other textures will base its drawing. In the next post I am going to show you the finished version, so give me some time to complete its image. I think that I will publish this second article about bump map within two weeks (on April 8th).

  • Member since
    June 2014
Posted by Witold Jaworski on Saturday, April 8, 2017 12:55 PM

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:


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:


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:


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:


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:


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 below):


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:

  1. You can easier to alter their intensity in the material schema, and you can instantly see the effect on the rendered picture;
  2. 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 below 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.

  • Member since
    January 2015
Posted by PFJN on Sunday, April 9, 2017 7:46 PM


Thanks for all the detalied posts.  I always wanted to try and do a detailed 3D model, but I'm not sure that I'd ever have the time to devote to it, like it looks like you did.

Most my 3D stuff is ship related abd has been very simple, but its all still fun.

Can't wait to see the rest of your info.


1st Group BuildSP

  • Member since
    June 2014
Posted by Witold Jaworski on Saturday, April 22, 2017 1:47 PM

Pat, thank you for following this thread!

I have seen that other 3D modelers do their stuff much quicker than me. I am relatively slow, so maybe it does not require as much time as you estimate to make a decent computer model :).

  • Member since
    June 2014
Posted by Witold Jaworski on Saturday, April 22, 2017 1:48 PM

In the middle of April I described the enhanced the bump map texture effect, using two different images. This is the continuation on this subject.

Have you ever noticed that the classic stressed skin of a real aircraft is not ideally smooth? It is more visible in the areas where the skin is thinner, especially on an old, “weary” aircraft:


The wing on the left (see the picture above) belongs to a SBD-4 (BuNo 10518) from Yanks Air Museum in Chino. This wing was recovered separately from Guadalcanal (circa 1980), and restored a few years later. This aircraft is in flyable condition (registered as N4864J), but has not flown since its restoration.

The wing on the right on the picture above belongs to a SBD-5 (BuNo 28536) from Planes of Fame, also in Chino. This wing was also recovered from Guadalcanal, in the same time as for BuNo 10518. This aircraft was restored, registered as N670AM, and made its first flight in 1987. Since that time it has been flying during various air shows.

I assume that the skin of the SBDs that were flying in 1940-44 resembled the skin of the wing from the left picture. Note that the leading edge and the central panels have no visible deformation. (However, their skin still could deform a little in the flight). This is because they were created from relatively thick (0.032”) sheet metal. The buckling of the skin is more visible on the panel behind the rear spar, because it was made from a thinner (0.025”) sheet.

It is quite easy to obtain this effect using textures:


To do it, I re-used the contents of the Rivets layers from the source Inkscape image. However, before I did it, I drew additional, thick gray lines below the rivet seams. I placed these lines on a separate layer, named Shadows:


Once this was done, I could compose the final texture image using these lines and clones of the Rivets sublayers:


First I altered the color of the white Rivets: Dome elements, using a simple SVG filter that blackens everything. Then I blurred this composition, using another SVG filter: cascading Gaussian blur. (For details of this solution, see “Virtual Airplane” guide, chapter about Inkscape, section titled “Using filters”).

Finally, to decrease the influence of this texture on the forward part of the wing, I covered it with a gradient-filled shape:



As you have noticed, in this composition I re-used contents of the Rivets layers, using their clones. Using such clones in the final texture image allows me to easily modify contents of these pictures in the future. When you alter any element in the source layer, Inkscape immediately updates all its clones. Thus I rearranged the structure of the SVG file (see the layers pane in Figure 70‑5). I grouped all the source layers (Rivets, Panels, Covers, Bolts, etc.) into a layer group named Source. Then I created another layer group, named Result. Each of its sublayers contains the composition of one final texture image (Holes, Nor-Details, Nor-Blur). Their contents is composed from clones of the Source sublayers, with altered opacity and (sometimes) applied various SVG filters. (See the source Inkscape file).

When I work on such a drawing, I am drawing new elements (or modifying existing ones) on the Source sublayers. Then from time to time I export the final images generated by the Result sublayers to the raster files, used by Blender (holes.png, nor_details.png, nor_blur.png).

In the process of creating textures, the most troublesome areas are those along seams, especially when such a seam contains a corner. Some time ago I tried to avoid breaking the skin panel edge along such a UV seam (see this posts, Figure 67‑3). Now I can see that this was a bad idea:


The rivets in the line that runs along the UV seam are skewed. They also have different sizes. All of this has occurred because of the high shape distortion of the bottom faces that belong to the large wing fillet.

I placed the small part of the fuselage inside the UV seam at the center wing. This fragment is undistorted. The remaining triangle (marked in orange in the figure below) is an area where the mesh faces mapped onto UV surface have high distortion (see figure "a" below):


After some deliberations, I decided that it is much easier to join the few rivet lines that run across an UV seam, than to improve these skewed rivets produced by the current UV mapping. (Well, as you can see, the “improvement” of the seam line that I made some time ago was a bad idea). Thus I had to shift the UV seams to the outer edges (see figure "b", above), and “glue” some additional mesh faces to the center wing. This time I took care to minimize deformation of the faces that remained outside the mesh seam.

Figure "a" below shows, that I was able to precisely match the rivet lines across this new seam. It was not as difficult as I thought. Figure "b" below shows the UV map of this area and the original image of the panel seams and rivet lines:


Note that this time only small number of rivets occur in the highly deformed area. On the other hand, because the degree of deformation is lower than in the previous case, these rivets are not ideal, but look “acceptable”, at least.

Figure below shows both bump map images, that I mix to obtain the texture of the technical details:


At this moment, I filled with appropriate details all the common surfaces, and the elements belonging to the SBD-3. As you can also see, I already drew some asymmetric elements on these textures. However, before I map them, I have to apply the Mirror modifiers to the appropriate meshes of my model. I will do in the next post. (I delayed this operation as long as I could, because presence of the Mirror modifiers allowed me easily alternate the model shape. (I had to modify its left side only. Blender took care on updating of the right side). However, after so many months of various checks I can only hope that the shape of this model “seasoned” enough, so I will not have to modify it in the future).

Figure below shows my model. (To make the effect of the bump textures more visible, I significantly increased their intensity):


Strangely enough, I obtained such an intensity increase by setting control nodes of these two textures to negative values: Moderate:Range = -1 (nor_blur.png) and Range From Min:Min = -3 (nor_details.png).

Actually, the textures of this model are symmetric, which means that there are many missing/wrong details on the fuselage right side. In the next post I will introduce asymmetry to these meshes.

In this source *.blend file you can evaluate yourself the current version of the model, and here is the source Inkscape file of its textures.

  • Member since
    June 2014
Posted by Witold Jaworski on Saturday, May 6, 2017 6:13 AM

Although the technical details of aircraft skin are symmetric in general, there are always exceptions. For example, look at the bottom surfaces of the SBD (Figure below shows them on my model):


As you can see, there are several details that are not symmetric. (In addition, let’s do not forget about the asymmetric opening under bottom covers of the fuselage, visible on this picture – see Figure 70‑9 in my previous post).

So far I mapped only the symmetric half of the wing on the UVTech texture layout. It occupies a significant portion of the space. Such a size allowed me to draw all the technical details in higher resolution. The plan was that both wings will be mapped in the same points of the UV space, because most of their structure is symmetric. For the few asymmetric details, I was going to prepare additional areas, intended for the UV mesh faces that contain these elements.

Let’s see how it works in practice. I created the right side of the center wing by mirroring its left side (see figure "a", below). Initially, the texture image is symmetric, because mesh faces from both sides are mapped onto the same areas in the UV space:


Then I drew the asymmetric elements of the center wing on the image, and “flipped” an L-shaped selection of the corresponding UV faces onto this area (figure "b", above). However, when I looked at the effect in the 3D space, I saw a huge texture deformation (figure "c", above). Why did it occurr?

The reason of this deformation is the Subdivision Surface modifier that I used to smooth this mesh (as well as most of the other meshes in this model). To preserve proportions of the texture image, I enabled its Subdivide UVs option. When I turned on in the UV/Image Editor the preview of the modified (ultimate) UV faces, I saw the pattern as in figure "a", below):


Edges of the ultimate, subdivided UV mesh faces are marked in yellow. As you can see, the Subdivide UVs option “smooths” all inner corners of the original UV layout! Well, I cannot disable this option, ibecause it would deform the texture details, on all mesh faces. Still, it is possible to counter this “inner corner” effect by sharping selected seam edges (i.e. by increasing their Crease coefficent to 1.0). As you can see in figure "b", above), I was able to fix most of the original deformation in this way. However, while I could mark as sharp any of the “rib” edges, I could not do the same for the perpendicular “stringer” edge, because it would change the wing shape. (It would alter the side view profile of the center wing).

All in all, the solution for the wings was to “cut out” from their UV layout “stripes” of the faces that span across whole wing chord. Such a stripe has no inner corners (figure "a", below):


As you can see in figure "b", above, it produces the desired effect. The drawback is that it occupies more precious UV space, and I had to replicate more details on this drawing (for the whole span of such a “stripe”).

There are also few differences between the left and the right outer wing:


Strangely enough, aircraft designers usually place all additional stuff like the aileron tab or landing light on the left wing. At this moment I just marked on the wing the contours of these two lights. During the next, “detailing” phase of this project, I will create all of these three details shown in the figure above as separate objects. However, I still have to modify the bump map texture, because of the different rivet pattern around these lights and frame around aileron trim tab. (When there is an element without influence on the rivets/panels pattern, I skip it at this moment. For example: in the left leading edge of the center wing there is small round inlet of the cockpit ventilation air. It does not alter the rivet seams, thus I will recreate it completely during the detailed phase).

Following the experiences with the UV mapping of the center wing, I stripped two full-span bands of the UV faces from the left wing and the right aileron:


Frankly speaking, drawing details of these additional strips in a way that they seamlessly fit the rest of the wing was quite difficult. As you can see, I also made small adjustment on the leading edge seam, on both wings. (It removed the deformation described some time ago in this post, Figure 64-9).

The UV layout depicted above contains three inner corners, all located on the leading edge. This is a kind of a compromise: I used sharp “rib” edges (Crease = 1.0) to minimize the overall deformation of the mesh UV faces around these points. They still bend the texture along their “stringer” edges (as in the case of the center wing, depicted previously in this post). However, in these two particular cases I managed to “hide” this unwanted effect. Figures below show how I did such a thing:


Figure "a", above, shows the fragment around the landing attitude light indicator and its faces in the UV space. This is a simple quad, without inner corners. As you can see, I mapped the inner wing edge as a straight line, to facilitate drawing of the multiple rivets and panel seams that run along it. Figure "b", above, shows the details of the corresponding inner corner in the main part of the mesh. I used a sharp “rib” edge along this seam. Still there is deformation along the perpendicular “stringer” seams, but it is practically invisible. There are two factors that “hide” it:

  1. The edges adjacent to the seam edge are relatively close to each other, which minimizes the deformation size;
  2. The seam edge runs in “safe” distance between nearest visible element of the texture image (a rivet seam), so the deformation in the UV mapping disappears before it reaches this image;

The possibility to “cut out” such a small part from the main body of the UV faces preserved precious UV space. It also allowed me to avoid duplicating on the texture picture of all the details along the inner edge of the left wing. (It would require a few hours, to fit such a separate fragment to the rest of the picture).

Apart the differences on the bottom of the fuselage, depicted in the first figure of this post, there are also differences between its left and right side:


The circular door of the life raft compartment was located on the port side (you can see it in the last picture from the previous post - Figure 70‑10). The raft was packed in a tube riveted to the starboard skin, creating characteristic circular rivet pattern (visible in the figure above). The door to the baggage compartment was also located on the starboard. There were also differences in the locations of the steps to pilot’s cockpit.

The shape of this fuselage is much more complex than the wing. I cannot mark any of its edges as sharp, because it would change the shape of this element. Thus, after the experiences with the wing, I decided that I need to map in the UV space the whole fuselage right side. Fortunately, I preserved some spare space on the original UVTech layout. Now I used it to fit this part:


On the picture above, I marked the newly added objects in orange. The main dilemma was how to fit another fuselage silhouette by replacing as few drawing elements as possible. As you can see, I finally decided to “shuffle” the cowling panels from the left side of the original image into the spare area. It created enough space for the fuselage on the left. Note that I also added the right sides of the cowling panels (because they also were asymmetric: there were two inspection doors on the left side of the cowling).

Figure below shows the source image of the bump textures adapted to this new layout:


My experience tells me that in the future I will have to update some details of this picture, following new findings in the photo material (it is just a matter of time). Avoiding applying the same modification twice, I decided to join into a group all the originally drawn elements that are identical for both sides of the fuselage and belong to the same layer. Then I created a mirrored clone of such a group and placed it over the right side of the fuselage. After I “filled” this contour with all the required clones, I drew the asymmetric details. In the future, when I change contents of any of these groups on the fuselage port side, they will be automatically updated on the starboard.

I drew the other side of the elevator in the same way. In this case, the whole difference is a plate mounted between two ribs. It contains the hole for the trim tab actuator. Of course, I could “cut out” this very mesh fragment, as I did in the case of the aileron. However, in the SBD the elevator is smaller than the aileron, thus I decided to make the “full size” copy of its opposite side. (Just to make the eventual future modifications easier).

In this source *.blend file you can evaluate yourself the current version of the model, and here is the source Inkscape file of its textures.

  • Member since
    January 2015
Posted by PFJN on Saturday, May 6, 2017 1:52 PM


Thanks for the update.  Everything looks incredible. Big Smile


1st Group BuildSP

  • Member since
    June 2014
Posted by Witold Jaworski on Tuesday, May 16, 2017 12:47 PM

PFJN - thank you!


This post is a small digression about a modeling technique that may be useful for those, who would like to build their own 3D models.

There is a detail on the bottom surfaces of the SBD center wing: an opening, made partially in the cover of the fuselage belly:


The difficult part of this detail is its flange, stamped in the fuselage cover. I just have two photos of this element, both of average resolution. On both of them you can see a typical circular recession, made around the opening in the belly cover. In fact, such a feature is quite common in the sheet metal design (you can see plenty of such stamped flanges in various places inside your car). This is a minor detail, too small for any serious modeling, but too large for recreating it with the textures.

I had an idea of shaping this recession using so-called displacement modifier. (I used it for a certain purposes in my previous model). It displaces mesh faces along given direction, on the distance determined by the color intensity of assigned texture. (That’s why I waited with this detail for the texturing phase). The displacement modifier requires plenty of small mesh faces. I thought that I will generate them by increasing the number of mesh subdivisions in the Subdivision Surface modifier assigned to this cover. Preparing for this, I split the mesh of bottom fuselage in the middle. This operation created two objects, representing the forward and rear part of the Dauntless “bomb bay”. I was going to increase the subdivision level in the rear part, which contains the flange.

However, after initial trials I went to the conclusion that the displacement modifier is not optimal solution for such a circular shape with rounded edges. It would require relatively high subdivision level, to obtain this shape with appropriate precision. (It would generate hundreds thousands of additional elementary faces). Too much troubles for such a small detail. Thus I decided to find another method that requires less resources.

Finally I modeled it using a technique that resembles me methods used by dentists. First I cut out in the belly cover circular area around the flange:


To not complicate the mesh of this cover, I did it dynamically, using additional Boolean modifier and an auxiliary cone (the latter as the “cutting tool”).

Then I formed around the opening a small ring of faces, and extruded them, creating the basic shape of the flange:


In the next step, I trimmed the extent of this mesh faces using the Boolean modifier and the same auxiliary cone that I used for the belly cover. Then I fitted external edges of this flange to the edges of the belly cover:


Note that, thanks to the Boolean modifiers, I only had to fit these edges along the normal direction of the joined surfaces. It required less work. To further facilitate this task, I assigned a contrasting red color to the rim of the belly cover.

Finally I mapped this small detail on the general UV map (figures "a", "b" below):


The UV map of this patch is a simple projection from the vertical view. So far it looks good – there are no visible seams between the patch and the belly cover (figure "c", above).

Figure below shows the final result on the rendered picture:


You cannot recognize here that this fuselage cover is created from two separated objects – it looks like a single one. This is the effect I wanted to achieve.

Of course, this method of using shared Boolean “tool” for trimming both involved objects is useful for modeling single features stamped in a sheet metal. It would require too much work for modeling more than two or three such objects. (Fortunately, they do not occur too often).

You can examine the details of this mesh in this source *.blend file (this the same file that I attached to the previous post).

  • Member since
    January 2015
Posted by PFJN on Friday, May 19, 2017 8:23 PM


Your attention to detail is amazing.  I look forward to seeing how everything turns out.


1st Group BuildSP

  • Member since
    June 2014
Posted by Witold Jaworski on Saturday, May 27, 2017 1:31 PM

Pat, thank you for following this thread!

Today I will add some basic "weathering" to this aircraft:

I already finished the bump map (in the second-last post), so it’s time to introduce another texture: the reflection (ref) map. It alters the basic reflectivity (gloss) assigned to the material. In addition, it also alters the material “roughness”. (In the typical CG materials the roughness and reflectivity are coupled in an inverse proportion). These two parameters are important, when you have to paint an oil streak or a soot streak. Both are black – the difference between them lies in their reflectivity.

The effects of the ref map are most visible inside these areas of the model that actually reflect the light:

Figure above shows two renders of the same model: the upper one was created without any reflectivity map, the lower one uses a basic ref map. (I created this texture around the technical details of the aircraft skin).

Compare the rivets seams in these two pictures, especially in areas (1) and (3). As you can see, ref map “emphasizes” these elements. In the lower picture the rivets and panel seams look more weathered than in the upper picture. The same applies to the bolts (2). In general, I use the reflectivity map to recreate the weathering and dirt that accumulates on the aircraft. Of course, the dirt pattern of this texture has to be tightly coupled with the corresponding pattern on the color map. (I will describe it in the next post).

I composed the basic reflectivity map in Inkscape, using three overlapped pictures. I briefly describe this composition below, on a representative fragment of the texture: the wing tip. (This fragment is small enough to make visible the minor details of this image. You can also examine the source Inkscape file for the further details). The first component of this texture is a blurred image of the basic rivet seams:

It contains clones of three source layers: Rivets: Dome (turned black), Rivets:Flush, and Shadows. To alter the color of the Rivets: Dome layer clone to black, I used an auxiliary SVG filter that contains just a single ColorMatrix component. Similarly, to blur the contents of this Ref-Details:Blur layer, I used another SVG filter, that contains a GaussianBlur component.

The other component of this texture emulates the small, random dirt and scratches that accumulate around all seams. I named it Grunge:

I composed this picture from clones of the Lines, Contours, Bumps:Bolt and Covers layers. Their contents is “dispersed” here using a special SVG filter. (For details of this solution, see “Virtual Airplane” guide, chapter about Inkscape, section about the dirt effect). I used here a new layer Contours, which I have not mentioned in previous posts. It contains just outer outlines of some selected elements (for example – cowling panels), drawn using thicker black line. (Such a line adds additional dirt along their edges).

I placed the dirt image (Ref-Details:Grunge layer) over the blurred panel lines (Ref-Details:Blur layer), and placed on top of them another layer named Ref-Details:Other. It contains clones of the Rivets, Fabric:Stripes, Covers, and Bolts layers. The idea is that this layer “clears the dirt” off the protruding skin elements (that’s why the clone of originally black Rivets:Flush layer is white here). Figure below shows the final composition of the Ref-Details texture:

The basic elements of this image – clones of the source layers – will update automatically, when I change one of the original layers. This feature is important for me, because I often have to introduce small corrections to the model, even during the last, detailing phase of the project. (You never know, when you find a new picture or drawing, which reveals that a particular detail in your aircraft had a different shape). Some of these corrections require corresponding changes in the textures. The automatic update of the three basic textures (two bump maps, and this reflectivity map) is a great help in such a case.

I exported contents of the Ref-Details layer into a file named ref_details.png, and connected it to the material scheme:

Because this Inkscape image re-uses the same components as in the bump maps, the reflectivity texture uses the same UV layout (UVTech). I connected this texture to two sockets: Ref Image and Dirt Image. The max. (i.e. basic) reflectivity is controlled by the Reflectivity parameter, while the contents of the ref texture decreases this value locally, in appropriate areas. The intensity of this effect is controlled by the Range parameter in the auxiliary Range To Max control node. To control the dirt effect I use the Dirt Intensity parameter (there is no need for another Range To Max control node on this line, because the basic Dirt Intensity = 0). (For explanation of the inner details of the X.Textured Skin group, see “Virtual Airplane” guide, chapter “Texturing the Model”, section “Summary”).

The dirt is hardly visible on the metal surface kept in the “natural finish”. (You can see the effect of this reflectivity map on such a surface in the first figure in this post). Om this example I switched the material to the non-specular Navy Blue-Gray color (see figure above). The U.S. Navy and Marines used this color to paint the upper and side surfaces of their aircraft in 1941, 1942 and 1943. This is just the first approximation – a solid color for all surfaces. (I will create the proper color texture in the next post).

Figure below shows the result of applying the reflectivity/dirt map (connected as in figure above) to a low-specular surface:

Still, the aircraft depicted in the figure above seems “too clean”.

To further enhance this dirt pattern, I combined the original image with a random “noise” pattern (see figure "a", below). This random pattern is composed from two different Noise Texture nodes of different size. One of them creates big darker and lighter “clouds”. I set the intensity of the General Noise texture (in the accompanying Range To Max node) so that its darker “clouds” have similar shade to the elements of the of the ref_details.png image. It makes the resulting dirt/ref pattern less regular (see figure "b", below):

The other component of the General Noise pattern creates a “white noise” of small darker and lighter spots (see figure "c", above). It resembles the real micro-dirt, dispersed evenly on the whole aircraft surface.
On all SBDs you can see anti-slip stripes running along both sides of their fuselages. Its surface was painted in the factory with a special “rough” paint. It seems to have much lower light reflection than the rest of the aircraft surface. I will recreate this reduced reflectivity of this strip on the ref texture, while I will paint it in black later, on the color texture.

It seems that the anti-slip strip is longer on the restored aircraft than on the photos of the original SBDs. To determine its true (i.e. original) size and location, I used the archival photos, as well as the contemporary photos of the few SBD wrecks (taken before their reconstruction). Below you can see two of these photos:

Figure "a", above, shows the original state of the SBD-5 restored by the Pacific Aviation Museum, while figure "b", above, shows the SBD-3s on the deck of USS “Enterprise”, on April 4th, 1942. It is a good photo, because it shows multiple aircraft belonging to the same squadron. You can see on these bombers that the anti-slip stripes extend from the trailing edge to the main spar of the wing. Precisely the same span you can see in the original SBD-5 from figure "a", above. However, on some airplanes that I saw on the photos the anti-slip strip is extended over the main spar, into the area that I marked in figure "a" with white outline. I suppose that this forward part of the strip could be painted in black by the local crews. It seems that they used various paints for this purpose, sometimes even the glossy ones.

At this moment I recreated this strip in its standard shape: from the trailing edge to the main spar. For this (and other, similar) purpose I made an auxiliary reflectivity map, and named it ref_aux.png (see figure "a", below):

You can see that I drew the anti-slip stripe in black there – this means that this area will have the minimal reflectivity (and maximum roughness). Thinking about the eventual glossy fragment at the end of this strip, as well as the oil streaks that I will paint in the next post, I set its background color to neutral gray (50% black). All the glossy elements will be lighter than this color. In addition to the strip, I decided to decrease the reflectivity of the fabric-covered control surfaces. (The fabric surface is rougher the metal surface, even when you paint them using the same paint). Because this difference in material reflectivity is not as intensive as on the anti-slip strip, I filled the aileron, elevator and rudder outlines with a dark gray instead of black.

Figure "b", above, shows that I mixed these auxiliary and basic ref maps using a Multiple node. This means, that now the background color of the resulting image is close to the neutral gray (it was 92% white, before). To compensate this difference, I had to increase the basic Reflectivity (the parameter in the X.Textured Skin group) to the maximum.

Below you can see the results of applying this additional ref map:

In figure "a", above, you can clearly see the anti-slip strip as a dark area on the center wing. Similarly, the fabric-covered aileron is also somewhat darker than the rest of the wing tip surface. However, this effect depends on the incoming light angle. When you look at this model from the opposite direction (as in figure "b", above), you will notice that these areas are lighter! In the real world, you can find the same effect on the photos of the aircraft painted with non-specular paints.

Figure "c", above, shows the final effect of the reflectivity maps, created in this post. In fact, this is just a beginning: this texture represents an “overall dirt”, evenly dispersed on the whole aircraft. Now I have to add the soot and oil streaks that appear on every real piston-engine airplane. The radial R-1820 engine (and especially its exhaust stacks) provided plenty of interesting patterns on the SBDs fuselages and center wings. However, I want to paint this dirt simultaneously on the reflectivity map and the color map. Thus in the next post I will prepare the basic color (diffuse) texture, then we will return to the “dirt painting”.

In this source *.blend file you can evaluate yourself the current version of the model, and here is the source Inkscape file of its textures.



  • Member since
    January 2015
Posted by PFJN on Sunday, May 28, 2017 6:46 PM

Wow, I think I'm going to have to print this entire thread out and reread it several times before any of it really sinks in Smile.  Your work is phenomenal.  Thanks for sharing your techniques, and in-process images/updates.


1st Group BuildSP

  • Member since
    January 2015
  • From: Tumwater, WA.
Posted by M. Brindos on Thursday, June 1, 2017 12:42 AM

I specialized in texturing and I really must say how freaking phenomenal of a job you have done on this model. This part of your project I can finally connect with. This is amazing!

I can't wait to see more now. Lol

- Mike Brindos

Figure Painting Moderator -- Genessis-Models

  • Member since
    June 2014
Posted by Witold Jaworski on Saturday, June 10, 2017 4:08 PM

Pat, Mike - thank you for reading!

Today I will report my work on the color map. As you will see, the lighter bottom side of the standard Navy camouflage forced me to alter some elements of the reflectivity map presented in my previous post...

The color (also known as “diffuse”) map is the most obvious texture, which you can find on every game model. 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 the figure below:

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 the figure below:

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:

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:

Then I painted the darker, blue-gray upper surfaces. I placed their picture above, on a layer named Upper. For the convenience, I joined both Upper and Lower layers into a group, named Camouflage (see figure above).

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 (as in figure "a", below):

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 "b", above) 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:

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 "a", below):

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 "a", above, 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 "b", above. 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:

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:

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 the figure below:

All the technical details are more visible now. The delicate soft treads along the rivet seams still appear in the shadowed areas, but vanish in the harsh light:

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 (4096x4096) are packed into accompanying Blender file.

  • Member since
    January 2015
Posted by PFJN on Saturday, June 10, 2017 6:20 PM


Thanks for the detailed post(s).  They are very informative, and your build/modeling continues to amaze me.


1st Group BuildSP

  • Member since
    June 2013
Posted by bvallot on Tuesday, June 13, 2017 1:34 PM

Witold, I've been very consumed by work and family over the last year, but I haven't missed a single post here. The depth and level of detail is quite inspiring. I'll certainly be bookmarking this page to follow up on when I attempt another Dauntless. 1:48 is sort of my wheel house. I felt pretty good about my first attempt, but I did have a few issues here and there that can't really be seen but it leaves me a feeling that I need to redeem myself. I still have to correct the dive brakes. The rods that attach to the flaps aren't all connecting due to the way I constructed the flaps with styrene...the plastic bows and causes the rods to pop off where they insert. It's always something, huh!?

Your build has given me plenty to think about and offered a few extra references that I hadn't previously had. I haven't seen a lot of chatter on this thread but I do want you to realize what you're contributing to the FS community. =] It's very much appreciated.

Keep at it!!

On the bench:  

Tamiya F4U-1  Kenneth Walsh


  • Member since
    June 2014
Posted by Witold Jaworski on Sunday, June 25, 2017 6:26 AM

Pat, bvallot, thank you very much for following!

In fact, I post to this thread to demonstrate another approach to modeling. It is always refreshing to look at our common goal (recreating of a historical aircraft/ship/tank/etc) from a different perspective. Sometimes it is easier (for example - I do not have to struggle with the polistyrene properties, as in your 1:48), sometmes it is harder (I had to create the model from scratch, and my "material" - subdivision surfaces - also have their quirks). Personaly, I think that it gives us more freedom of choice about the aircraft we make, and more responsibility about its shape and details. Of course, the computer models can be used as "better, 3D scale plans" for making better scale models. Most probably within a few years the advances in inexpensive 3D printers bring these two modeling branches even closer to each other.

  • Member since
    June 2014
Posted by Witold Jaworski on Sunday, June 25, 2017 6:29 AM

In this post I will work on the weathering effects of the color texture, while in the next one I will add scratches and some other remaining details.

The weathering effects that you can observe on the aircraft from WWII era are quite “dramatic”. The paints used in mid-20th century were not as chemically “stable” as the contemporary coats, thus they could change their hues in few months of intense service. The archival color photos below show an extreme case of this effect:

These photos were taken by Frank Sherschel on 14th November 1942, for the “Life” magazine. The SBD-3s depicted on the pictures belonged to VMSB-241 squadron, stationed at Midway in that time. Marines received these aircraft in July 1942, but all of them were already used before - most probably on the U.S. Navy carriers. I think that in November 1942 these SBDs had accumulated about 10-11 months of the war service. I will use them as an extreme case of the weathering. (It is always good idea to recreate such an ultimate case in the texture, because you can always make your model “newer” by decreasing intensities of the weathering layers. On the other hand, you cannot use more than the 100% of their intensities, thus you cannot make your model “older” than you initially painted).

Having historical color photos of several airplanes used by the same squadron, you can easily determine the general pattern of the stains, smudges and scratches. This pattern repeats with some random variations on every aircraft. It seems that such a radial engine like R-1820 emitted a lot of oil – in their exhaust fumes and in the air flowing from the NACA cowling. (Because of the high “oil consumption” of the R-1820 the oil tank in the SBD was quite large). The non-specular paint of the two-color Navy camouflage absorbed this oil mixed with the soot from exhaust fumes, creating characteristic dark traces along the fuselage and the center wing. The crew most often walked on the center wing, thus you can see on its upper surface the lighter traces along dome rivets seams and darker, “trodden” spaces in between. There are also some scratches in the paint. Some of them exposed the yellow primer, while the others reached the bare metal of the aircraft skin. (Thus I assume that the first layer of the Douglas primer had a yellow/orange color).

You can also notice some white splashes on the outer wings (traces of the coral sand from the atoll?), as well as the repainted areas around the tactical numbers. (On a black-and-white photo, it would be extremely difficult to distinguish these repainted areas from the oil/fumes traces).

What is interesting – in spite of the non-specular camouflage of these aircraft, you still can see a specular highlight at the wing root (as in figure "b", above).

The key elements of the weathering effect still depend on the technical details of the aircraft skin: rivets and panel seams, bolt heads, inspection doors. However, their pattern is so random, that I cannot recreate them in the SVG image, as I did in the case of the reflectivity map. Thus we need a reference picture of the skin details for painting the color (diffuse) texture. It has to be mapped in the same UV layout (UVMap) as the color texture. To do this, I composed from the key layers of the SVG drawing an auxiliary image, mapped in the UVTech layout. Then I quickly transformed it into UVMap layout using the Bake feature:

The old Blender Renderer engine is a better tool for such a direct transformation of a single texture than the Cycles Renderer. In the Blender file that accompanies this article, I created a dedicated screen layout for this purpose. It is named Texture Baking. You can find there a simple script that I used to switch the UV layout of all model meshes between UVTech and UVMap. To bake a texture from UVTech to UVMap layout, you have to switch the current rendering engine to Blender Renderer and disable nodes in the B.Skin.Camouflage material. Then assign the image (mapped in the UVTech coordinates) to its single Blender Render texture assigned to B.Skin.Camouflage material, named Image for Baking. When you click the Render:Bake button, it will generate the resulting texture (in the UVMap coordinates) in the Test image, which you can see in the UV/Image Editor. You can use Image:Save As command to save it to an external raster file.

I created such a reference image for each SBD version I have modeled (SBD-1, SBD-3, and SBD-5), and placed all of them in GIMP:

The darker areas in this weathering appear between the rivets seams. I decided that it will be easier to recreate them using one layer of darker camouflage color, overlaid by partially opaque layer that contains the weathering pattern (in white). First I painted in this way the right outer wing:

I used this “sample” for testing if such a pattern looks good in the final image:

I think that it looks acceptable. Thus I started to paint in this way the weathering of the whole upper surface.
I create the basic pattern of the lighter traces along rivet seams in four steps:

First I painted the “overall noise” with an “acrylic brush” tool (figure "a", above). Then I changed the tool shape to “pencil” and draw thin lines along rivet seams (figure "b", above). In the next step I used Eraser to make this pattern more random (figure "c", above). Finally, I filled it again with light touches of an irregular brush, to lighten the overall effect (figure "d", above). (This last step is optional, depends how this fragment looks like on the reference picture).

Figure below shows the resulting weathering pattern on the fuselage:

As you can see, it differs from the pattern on the center wing. The lighter traces along rivet seams are thinner, the color is more uniform. Using a separate layer, I added a yellow tint to the darker areas.

Unfortunately, in Frank Sherschel’s collection there is only one, small photo which shows the bottom surfaces of an SBD from this squadron:

You can identify there some smudges on the outer wing and rear fuselage. However, you cannot determine the dirt pattern for the center wing and the engine cowling. (You can only say that they are dirty).

Well, in this case I had to use another, black and white photo as the reference. This photo shows clearly the center wing section of a typical aircraft:

As you can see, I recreated in my image the exact copy of the smudges from this SBD-4 center wing. They are placed on another layer (Flow) in the Stains layer group.

Finally, I enriched this basic dirt pattern with all the additional details visible on the reference photos: white “burnouts” on the fuselage sides, discrete traces of soot. There are also irregular, darker lines along some of the panel seams:

Each of these elements has its own color and layer. Note that the darker lines along panel seams extend across the upper and lower surfaces. I painted them using the same color, but on the bottom surfaces they are more transparent, to obtain the appropriate contrast. (Painting them, I used a 50% opaque mask for the bottom surfaces).

Figure below shows this “weathered” diffuse texture on the model:

Frankly speaking, I am still not satisfied with these results. This weathering requires some minor adjustments. For example: on the reference photos it has a slightly different hue. The fuselage below the tailplane also requires some fixes.

While painting all these weathering effects, I came to conclusion that I cannot re-use them without any modification in the three-color camouflage, used in the SBD-5s and -6s. Thus I will not split the color texture into three interchangeable parts, as I announced in my previous post. I will have to prepare few alternate color textures instead:

  • A colorful pre-war painting scheme (orange wings!), without weathering for the brand-new SBD-1s from the Marines squadrons (+ eventually the later single Light Gray color scheme, as visible in color photos preserved in the Smithsonian Air And Space Museum);
  • Two-color Navy scheme for the SBD-2,-3 and -4s (described in this post);
  • Three-color semi-gloss Navy scheme for SBD-5s and -6s (+ eventually the white variation of this for the SBD-5 and -6 scheme, using on the Atlantic areas);

Of course, I will reuse fragments of the weathering pattern described here in the three-color scheme for the SBD-5s and -6s. However, before I do it, I have to finish this color texture. Thus in the next post I will fix the minor flaws described above, and recreate the scratches visible on the reference photos. Then I will apply the “decals” – national insignia, tactical numbers, etc.

In this source *.blend file you can evaluate yourself the current version of the model, here is the GIMP source file 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 (4096x4096) are packed into accompanying Blender file.

  • Member since
    January 2015
Posted by PFJN on Saturday, July 1, 2017 11:40 PM


I've literally run out of things to say about your work.  What you have (are) doing is amazing.  Thanks for the detailed posts.  They make an inrcredible tutorial. Smile


1st Group BuildSP

  • Member since
    June 2014
Posted by Witold Jaworski on Saturday, July 8, 2017 3:34 PM

Pat, thank you for following!

Below another post, this time about specific detail: recreating the aircraft skin abrasions. To provide a complete picture to eventual other 3D modelers, I described here the "kitchen details" of the Blender node setups. (I know that it may look like a "rocket science" for those who never used it :). However, this is one of the last posts about "painting". I will finish this phase soon, then will provide posts on modeling more classic elements when I start to work on the details: undercarriage, engine, etc.)


It seems that Douglas used a high-quality paint for their SBDs, because I cannot find any trace of chips/flakes, even on such a worn-out aircraft as this from VSMB-241 (see figure below). However, you can see some scratches on the center wing, trodden by the crew:

In the photo above, the minor scratches are yellow, because Douglas used a yellow layer of Zinc Chromate primer below the camouflage paint. (The interiors were painted with another layer of the Zinc Chromate, mixed with Lamp Black to obtain a darker, greenish hue).

However, the larger area along the leading edge was often trodden to the bare metal, which you can see in the photo. This scratch has a typical, irregular band of the primer around its borders. In this post I will recreate these abrasions.
The aircraft producer anticipated this kind of damage (at least to some extent), placing a thick, rough, anti-slip strip along the fuselage. It seems to be made of a black, rough material, glued (?) to the aircraft skin (as in the picture above), and spans from the trailing edge to the main spar. However, the most “visited” by the servicemen area in the front of this spar had no such a cover. On some SBDs (including the one on the photo above) you can find a glossy, black continuation of the anti-slip strip. I suppose that it was added in the Navy workshops. It seems to be simply painted using a typical black paint, thus was more prone to the abrasion (as you can see in the photo).

To recreate the effects from this archival photo, I had to paint this glossy black area first. It requires changes in the two textures: color map (because it was black) and reflectivity map (because it was glossy). I created in the source GIMP file separate layers to reproduce these shapes. This way I can simply turn them off while painting another aircraft that did not have this feature (like most of the SBD-5s and -6s). Figure "a", below, shows the color texture image, while figure "b" shows the additional reflectivity map (they share the same GIMP file):

Note that I introduced here another part of the reflectivity texture: the map of the areas that are more specular than other. This is a natural addition to the ref-aux.png map that I used in this post to make the remaining anti-slip strip more rough. There are also some other areas that look more “wet” (specular) than the others. For example – the fuselage sides (because of the small amounts of the oil, spreaded from the engine). I painted them in GIMP in a lighter gray, on a separate layer named Wet area (see Figure "b", above). I saved this image to a file named ref-aux-spec.jpg. However, I could not simple merge it with the ref-aux.png map, because it uses the different UV layout (UVTech). Thus I had to join these images in Blender, using special node that mixes two grayscale pictures (as in Figure "a", below):

For the brevity I renamed the ref-aux.png file to ref-aux-rough.png. Figure "b", above, shows these updated textures on the rendered picture. Frankly speaking, the weak increase in the specularity of the fuselage sides is not visible here, but you can see the much more accented difference between the reflectivity of the forward and the rear anti-slip strip segments.

I am going to recreate the scratches that you can see in the archival photo using so-called shader mask. Thus, in addition to the weathered camouflage shader that I used so far, I need a “bare metal” shader, which looks like a rough duralumin skin. Figure below shows such a thing:

Note that this shader uses the ref_details.png image (see Figure 73-4 in this post) as the base color texture (for the Diffuse as well as the Specular colors). The dark lines from this image create appropriate shadows along the seam lines. I just made this input image somewhat darker (using a Multiple node), to transform the semi-white background color of the original ref_details.png image into metallic gray. What’s surprising, it’s better to use a fixed Reflectivity for such rough (low-reflectivity) metallic shaders. When I tried to use the same ref_details.png image as the reflectivity map for this case, it made the panel seams lighter, reverting the effects of the color texture.

To share the dirt between the “bare metal” and the camouflage shaders, I separated it from the color texture. I named the two resulting images as color-camo.jpg (the weathered camouflage) and color-dirt.png (the soot traces and some stains on transparent background). I used the Stack Image nodes (see Figure "a", above) to combine them with corresponding backgrounds, like the layers in GIMP. Figure below shows these two components of the color texture image:

In the color-dirt.png image I initially grouped only the soot traces. It is possible that I will also transfer other layers there. (We will see if I have to do this during the work on the pre-war “natural finish” painting scheme of the SBD-1).

Then I prepared a B/W “shader mask”, painting white, feathered scratches on a black background:

As you can see in Figure "a", above, I decreased the opacity of these shader mask layers while painting, using as the reference the camouflage from the layers below. I also used a copy of the reference image (layer Rivets and seams) to precisely recreate technical details visible inside this scratch. (SBD had flush rivets on this area. Usually the paint remains on their heads even when there is bare metal around). Figure "b", above, shows the final material mask. I saved it to a file named mask-scratches.jpg.

Below you can see how I used this mask in the material scheme:

Note that I placed a Color Ramp strip between the mask and the Mix Shader node. The pattern, set in this node, controls the ultimate size of the scratches, and the width of the transition area. (The transition area is “feathered” border of these bare metal scratches, where the share of both shaders is greater than 0). For example, if I want to get the “chips” effect (bare metal areas with sharp borders) I should switch this color ramp mode from Ease to Constant. (It creates a strip that contains just sharp black and white spans, without any “gray transition” between them).

The result of this shader mask looks like the test render below:

The bare metal scratches look good on the dark background (like the anti-slip strip). For certain viewing angles they disappear in the camouflage, because of their gray color (as in Figure "a", above). Still, they can shine (as in Figure "B", above) when you view them from other sides, especially when you do it from greater distances. (This shining effect looks quite convincing – this is the advantage of this method over scratches painted directly on the color texture).

Now, let’s add the primer to these abrasions! This means that we have to add yet another shader to our material scheme. It is similar to the camouflage shader, with one exception: it has to have a uniform yellow color, instead of the camouflage texture. To reuse all the other settings, I decided to “extract” the final Gloss Paint shader from the X.Textured Skin group. Figure below shows the modified material scheme:

I “cascaded” the camouflage, primer and bare metal shaders, using two Mix Shader nodes. In general, each Mix Shader could use a different mask image. In this case both use the same input mask, but each one modifies it in a different way, using its Color Ramp node.

You can see the result below:

I think that it looks good enough. These and other details bring the final effect closer to the original photo from the beginning of this post (compare the picture below with the first picture in this post):

Of course, there are still differences. (For example - I have impression, that I should use stronger sunlight in my scene, to obtain such a high contrast between the lighter and darker areas as in the original photo). Well, I will work on these issues later.

Using the shader setup presenting in this post, painting all other scratches is a breeze: you just have to add another white splash on the shader mask image.

In the next post I will prepare the “decals” texture, containing national insignia, tactical numbers, and some service labels. (I will add more of these labels during the detailing phase, when I review each area of the aircraft skin).

In this source *.blend file you can evaluate yourself the current version of the model, and here is the GIMP source file 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 (4096x4096) are packed into accompanying Blender file.

  • Member since
    January 2015
Posted by PFJN on Saturday, July 8, 2017 11:12 PM


If it weren;t for the fact that the cockpit in your build is currently empty, I'd swear it was a real plane.  

Can't wait to see more.



1st Group BuildSP

  • Member since
    January 2015
Posted by PFJN on Wednesday, July 19, 2017 9:58 PM


I don't want t derail your thread, but I just wanted to show you a model that I was recently working on.  It's still kind of simplistic, and I haven't tried anything like adding bump maps yet.  I have been learning alot form your posts though, and I may try and see what I might be able to do with my model to make it look a bit more realistic, based on things that I have learned from some of the stuff you have been discussing for your model. Smile



1st Group BuildSP

  • Member since
    June 2014
Posted by Witold Jaworski on Saturday, July 22, 2017 3:24 PM

Oh, so you are making ships!

Am I right that you have covered it with a simple color (diffuse) texture? If so, as the first step I would suggest create glass windows. You can quickly "cut out" them using transparency texture (a B/W picture of these openings). Then place the copies of the current mesh in these openings, and assign them to a "glass" material. To avoid "seeing through" this ship, close the inner spaces using inner black walls.

Actually, your model has no shining elements, while in the real world everythng (more or less) reflects the light: add some rflectivity to your material. (Eventually you can expreiment with a ref texture - maybe some elements of your model should be more glossy than the others). If you using Blender / Cycles for this model, this book contains a "step by step" introduction to basic materials and lighting  - maybe it will be useful?

The last thing - there should be a wake on this water behind this ship. (I cannot see any anchor line, thus I assume that it should move forward, leaving a wake on the water).


Our community is FREE to join. To participate you must either login or register for an account.

By signing up you may also receive reader surveys and occasional special offers. We do not sell, rent or trade our email lists. View our Privacy Policy.