Making Liveries For Fs2004 Aircraft

Transcription

Making Liveries For Fs2004 Aircraft
Making Liveries For Fs2004 Aircraft
Some insights on the process of making an aircraft livery paint or repaint for
the modeler, painter and repainter.
by
Volker M. Bollig
Halle (Saale), October 2010
Preface
This paper assumes that the reader is familiar with the concept of texturing CG 3D-models and the
general use of tools like GMax/3D-Studio Max, Photoshop/PSP/GIMP and texture file converters. It
will not cover how to paint with photoshop or how to model a plane, but will give some general
insight and emphasize some of the more often encountered pitfalls of aircraft repainting. It is also
not intended as a step-by-step tutorial, since there are many tutorials on this topic to be found out
there.
Caveat! There is nothing like the "one and only valid way" to properly do texturing, do a paint or a
repaint of a model. There are a lot of ways to achieve the desired result. Hence I explicitly do not
dismiss any other way of texturing/repainting not mentioned in this lecture.
This essay covers FS2004 paints, but applies to some extend to Fs2002 and FSX models also.
Contents
Preface ...............................................................................................................................................1
Contents .............................................................................................................................................2
1.
A Brief Look On Textures And How They Are Working .................................................................3
2.
Mapping The Textures.................................................................................................................6
3.
Making A Paintkit ...................................................................................................................... 12
4.
Excursion Back To Mapping ....................................................................................................... 22
5.
The Paintkit - Part Two .............................................................................................................. 29
6.
The Alpha Channel .................................................................................................................... 42
7.
Fiat Lux – Let There Be Light ...................................................................................................... 48
8.
Getting The Paint Into The Simulator ......................................................................................... 51
9.
Mapping Examples .................................................................................................................... 53
AFS A318-100................................................................................................................................ 54
Simmer's Sky / Overland Airbus A320 ............................................................................................ 55
PMDG Boeing 737-700 .................................................................................................................. 57
Wilco 737-400 ............................................................................................................................... 59
LevelD Boeing 767-300ER .............................................................................................................. 61
Project Open Sky Boeing B777-300ER............................................................................................ 62
Digital Aviation Dornier Do 27 A1 .................................................................................................. 64
POAB Fokker 50 ............................................................................................................................ 65
Samdim Tupolev Tu 114 ................................................................................................................ 67
10.
Conclusion............................................................................................................................. 69
1. A Brief Look On Textures And How They Are Working
Let's fire up the sim and change the standard aircraft from the C172 to the default American Pacific
Boeing 737-400. We will have this familiar view:
image 1
Ignoring the surrounding, we will have a closer look at the model itself. This is best done by
examining the model inside an application more suitable in order to have an insight of the very
structure of the model. Image 2 shows the model in a 3D-modeling application.1
image 2
1
We will see later how we get there.
Any 3D-Model in the realm of DirectX consists of virtual triangles2 defining the surface of the model.
The wireframe in image 2 represents the boundaries of all these triangles. They are not visible in the
Simulator. To make the model visible, we have to cast a so called material on the model. The material
defines how the renderer in FS makes the model visible in the simulation's viewport. This is done by
definitions called shaders which define properties like color, opacity, glossiness, illumination,
reflection, refraction or lighting of the model surface.
The renderer now has to determine which part of the model exactly has which properties. This is
where textures come in place. The texture determines which part of the triangles has which color,
opacity, reflection and so on. For different properties, different textures are used. There can be a
texture for the color, one for opacity, one for glossiness etc.
When we open the default B737-400 texture folder, we will find this texture files:






737_panel_decals.bmp
737_panel_decals_2.bmp
737_panel_decals_3.bmp
b737_400_c.bmp
b737_400_l.bmp
b737_400_t.bmp
The naming of the first three texture files is self explanatory as they contain the decal textures used
in the virtual cockpit. The b737_400_c.bmp contains the virtual cockpit textures itself, the
b737_400_l.bmp contains the lightmap3 and at last the b737_400_t.bmp contains the outside
texture of the model shown in image 3. This is also indicated by the suffix –t.
2
3
why triangles are used is also discussed in my GMax tutorial at www.vmbollig.de
will be discussed later
image 3
The texture shown in image 3 covers the whole outer surface of the entire airplane in a single
1024x1024 pixel graphic file. To be exact, this is more than one image in the file as we will see later.
If there was no texture file for the model, the plane would look like this in the sim4:
image 4
4
The registration number on the fuselage on image 4 is not part of the texture file but rendered by
the Flight Simulator separately. This is why it can be seen here.
2. Mapping The Textures
Now we have a 3D-model and a texture file. The modeler now maps the texture file to the model. In
this example this is done most effectively, using a minimum of space and leaving nearly no unused
space of the texture file at all. We will see some examples of the contrary later.
image 5
Image 5 shows the entire mapping, the so called uvw-mapping5, of the outer hull of the aircraft. Most
of the parts of the plane are clearly distinguishable on first glance, some are not. We see the fuselage
broke up into three parts. We see both horizontal stabilizers on the top right, one vertical stabilizer
on the bottom right, one engine, and one wing with upper and lower side. On the next image we see
both, mapping and texture.
5
uvw are the coordinates of the 3d-model vertices on the texture. They are referred to as uvw due to not being
confused with the model coordinates x, y and z.
image 6
Here one can see clearly which part of the model corresponds to which part of the texture. Let's have
some fun and put this texture on the plane, thus making the underlying model grid visible in the
simulator.
image 7
What we see in the simulator now is pretty much the same as the modeler sees in the 3Dapplication's viewport as shown in image 8.
image 8
When a new model is made, it has either no texture mapping at all or it has a default mapping by
choice of the plane's modeler. It is then up to the artist, to layout the texture and it's mapping
according to the needs of the model.6 This is, in most cases, done concurrently by first drafting and
later refining mapping and texture files. As can be seen in the textures of the FS default B737-400,
some areas of the texture are used more than once. Let's have a look on the mapping of the engines.
image 9
The grid overlay in fact shows the mapping of both engines, which, as can be seen, are identical. The
result is, that the paint on this engine texture will appear on both engines. The effect that both
engines perfectly overlap like shown is commonly achieved by doing the engine uvw-mapping prior
to duplicating and mirroring the engine. The drawback and first pitfall of repainting lies in the
circumstance, that the paint of the second engine is mirrored too, thus preventing the repainter 7
from applying text or logos which cannot be mirrored.
Further on, on image 10 we see that a part of the fuselage is mapped twice whereas the front section
image 10
6
And when the artist is kind enough, also to the needs of the repainting community. Which is, alas, sometimes
not the case.
7
Of cause the painter of the original also.
partly is mapped separately. This is the part where most airlines have their company sign or writing
painted on. As the result, the rear fuselage and the cockpit section are mirrored with the same
consequences as have been seen for the engines. The same applies to the wing, which is also
mapped twice.
image 11
Painting a registration on the wing will result in the registration showing up mirrored on the right
wing as shown in image 11. Registration on the wings will not work with this model. There's nothing
a repainter can do about this.
The whole mapping of this aircraft model is optimized for using the least amount of texture space
possible. This is not bad in general. It minimizes the impact on the simulator's framerate whereas it
also allows for the most important parts to be mapped correctly. That leads us to the vertical
stabilizer usually refered to as the tail fin.
image 12
At first glance, there seem to be two "left" sides of the tail fin. This indicates that one of the fins is
mapped mirrored. This will be proved by a little test.
image 13
image 14
The right side of the fin, mapped to the upper right corner of the texture is mirrored. This was what
could be assumed, considered that also the right part of the fuselage has a mirrored mapping as seen
in image 10.
Some challenges for repainters caused by different mapping technics will be discussed subsequently.
3. Making A Paintkit
Most FS aircraft developers provide paintkits, among them Simmer's Sky/Overland, iFly, PMDG,
Flight1, Qualitywings, Wilco, AI Aardvark, The Fruit Stand and many more. This seems sensible to me,
considering the high demand of repaints throughout the flightsim community. Doing a proper
Paintkit can be a lot of work, but on the other hand, may well pay back since it increases the number
of available repaints and the acceptance of the model itself.
When we have a look on the default Boeing 737-400 texture, we see that mainly the fuselage, the tail
and the engine needs to be repainted normally. Also for the sake of saving my time and the reader
from getting bored, I will focus on this parts of an aircraft here.
Image 15 shows some repaints I have done for the iFly B737-700/800 recently, using the paintkit
delivered by iFly.
image 15
A lot of paintschemes, like the Jet Airways or the Southwest in image 15, require that the entire
fuselage or, the better, fuselage plus tail fin is to be painted in one piece. Having a proper paintkit
and a sensibly mapped model, the entire painting process takes place in the paintkit only. The ready
painted livery will then be transferred and pasted to the texture file(s) and converted appropriately. I
will show how to achieve this without having to fiddle too much with the texture file. The better the
paintkit is, the easier and faster we can repaint.
If we are lucky, the modeller provided the uvw mapping grid with the plane. If not, like the default
Boeing 737 or a lot of freeware models, we have to obtain the mapping grid on our own. This
requires that we read out the 3d-Aircraft models and import them into an unwrapper application.
If you ask in any of the numerous flightsim forums how to obtain the 3d-model of a given FS plane,
the answer will in most cases be "This is impossible!", "This is not allowed!" or something like this.
This is simply not true and I will show how to do this.
Before I do, a brief word on this topic. First of all, we do not mess with the model file. That would be
reverse engineering and might, under certain circumstances, be considered illegal. Carefully studying
the 3D-Models of both, freeware and payware developers, as well as studying the comments on this
topic in the forums teaches a lot. It teaches the Newcomer how a model can be built8 and it shows
the expert how accurate and diligent the modeler has worked. Astonishingly, at least for me, a lot of
highly praised and acclaimed aircraft, both free- and payware, are far from being expertly designed in
terms of modeling or texture mapping.9
There is also a fear among developers that someone might steal their model or part of it to make
their own one. Although this might be possible to some extend in theory, but this simply does not
work this way. We can import the 3D-model including the textures and their mapping but not the
naming of parts and shaders 10, animations, LoDs or even the correct size of the model. Building a
working FS model from the 3D-model alone requires the complete skills of a plane developer. Also,
any model is unique and will easily be identified as ripped or stolen by an expert. Apart from making
paintkits and comparing and examining a model, there is no real advantage in having the 3D-model
available in the way described.
These are the required applications for this task:







a working 3D Studio Max11 or Maya as 3d-modeller
3D Ripper DX http://www.deep-shadows.com/hax/3DRipperDX.htm
Lith Unwrap by Brad Bolthouse, a Freeware uv-mapper
Photoshop, PSP, GIMP or a similar image processing application
DXTBMP from the FS SDK or a similar tool as a converter to FS extended BMP-format
Flight Simulator 2004 "A century Of Flight" obviously
and time saving but not required: FSRepaint by Abacus http://www.abacuspub.com
The tool 3D Ripper DX 12, upon it's installation, also installs an importer for it's own .3dr file format.
This requires that 3D Studio Max has been installed prior to installing 3D Ripper DX. As the naming
may indicate, 3D Ripper DX works with DirectX. It is launched and itself launches the simulator
accessing the 3D viewport. Simply fire up the 3D Ripper, start FS9 from within, choose the desired
aircraft in the manu and wait until it shows up completely, which will take some seconds. Then press
F12 or any defined hotkey, and a copy of the 3D-Model and it's textures in .DDS-Format are stored in
the folder C:\Users\$USER%\Documents\3DReaperDX13.
8
In most cases, it shows not the process but the result.
Hence it seems to me that a lot of the outcry in the forums on this topic tries to hide the fact, that all
modelers are simply cooking with water.
10
which would be essential to make a working model for FS.
11
At least version 5. Evaluation or student version are available for a limited time.
12
which works, by the way, with other DirectX Programs and games also.
13
Yes, the program is named 3D Ripper but the folder is named 3DReaper.
9
image 16
Image 16 shows the user interface of the 3D Ripper DX and image 17 shows where to capture the
model.
image 17
The captured model is now stored in the subfolder Frames and the textures are stored in the
subfolder Textures of the above mentioned 3DReaper folder. We do not need the shaders for our
purposes anyway.
In 3DS Max, we import the model using the plugin by simply choosing the 3dr-format. The given
settings have proved to work fine so far.
image 18
The Aspect and FOV14 values are computed by the tool and may simply be selected. The now
imported model looks like shown in image 19 in the 3D-modeler.
14
The width to height ratio and Field of View of the viewport within the FS menu in this case.
image 19
The image shows only the model's wireframe in this case, but the textures are captured and correctly
mapped also. As one can see, the model is shown in the position as captured. This requires us to first
do a bit of refinery. The model shall be rotated to the desired angle and the model's pivot point
moved to the very center of the model. I also add a camera and some lights for rendering.
image 20
Image 20 shows the model in the modeler's viewport and image 21 shows a rendered image.
image 21
The model of the default B737 bears a pitfall since it is not mapped correctly with uvw-coordinates
ranging from 0 to 1 as required. Therefore we must move the entire mapping of the model to the
right position as shown in image 22. This is done in Mesh Modifier – Unwrap UVW – Edit of 3DStudio. This is only required for a few models.
image 22
The next step is quite simple. Just export the model to the Autodesk .3DS-format and upon
exporting, tick the Preserve MAX' texture coordinates checkbox which is essential since we want the
coordinates.
In Lith Unwrap choose File – Model – Open and import the model. The result may look like image 23.
image 23
As you may see, the whole mapping is flipped vertically, which will be corrected later. This is because
the ripper uses dds format textures which store the image upside down by default. We now select
the desired mapping in the Materials tree at the right and save the mapping with the File – Save UV
Map command.
image 24
image 25
As the map's option, I usually choose B&W coloring and 1024x1024 pixel. The result is a UV-map like
the one shown in image 26.
image 26
We also convert the aircraft's texture file to 32-Bit TGA with DXTBMP as usual and load the texture
into Photoshop. Then we import the UV-map as a new layer in Photoshop. Once copied to the
texture, we flip the UV map vertically and invert the colors as shown in image 27.
image 27
In the next step, we select all white areas with the magic wand with the result, that only the
wireframe is left. The result has been shown before in image 6. When putting together the paintkit,
we have to ensure that the resulting paint can be positioned correctly into the texture file. To
achieve this, we add cross markers to the relevant parts. This is done on a separate layer in the
texture file first. What we need to position here, is the aft fuselage section, both front fuselage
sections and the tail fins. The marker must be positioned in a way that does not interfere with the
paintkit itself as shown in image 28.
image 28
The marker must be copied onto the grid layer also, in order to be visible when the grid is enabled
and when the grid layer is not visible in the texture file.
Once stitched together accurately in Photoshop, we have a left and a right template as well as a left
and a right grid for reference. This is what we start to paint with.
image 29
image 30
In Photoshop it is a good idea to organize the paint in layers and layer sets as shown. I always mark
layers which will not be visible in the resulting paintscheme in grey color as it can be seen with the
grid and the template. In this case, I have taken the original texture as a template. We also may use
any suitable aircraft photograph.
As you may have noticed, the plane grid and texture seems to be a bit too thick for a B737-400 thus
the texture appears to be skewed. This is a result of the mapping method used, and this will be the
right moment for a short excursion back to mapping.
4. Excursion Back To Mapping
Mapping a texture to a 3D model in 3D Max or GMax is done, among other techniques, by either
projecting the image planar to the model or wrap it around the model. The former achieves best
results on flat surfaces such as wings and fins, and the latter is suitable for tubular shapes such as
engines and airliner's fuselages.
image 31
image 32
In this case, the model of the FS default Boeing 737-400 fuselage and engine has been mapped
tubular as shown in image 31. Most of the aircraft fuselages you will encounter in the FS world are
mapped planar as in image 32 by the way. Both methods are perfectly valid and have their
advantages as well as their drawbacks. Using the tubular method, the texture around the fuselage,
except the head and tail, is free of distortions. You may use any elaborate and complicated paint on
it.
The planar mapped fuselage paint works very well if used with an aircraft photograph as a template,
because a photograph exactly represents a planar mapping or, to be precise, projection, of the
tubular fuselage of an airliner. The distortions of the upper and lower part of the fuselage are the
same with planar mapping as they are on a photograph. In most paintschemes, this distortion does
not lead to problems because airliners paintschemes usually are not elaborate on the very top or
bottom. I will demonstrate this with an example. Let's map this beautiful image to the fuselage: 15
image 33
First, we will map it tubular, i.e. wrapped around the fuselage. As we see in image 34, we have no
distortion at all.
image 34
The image is wrapped perfectly around the tube 16, whereas the texture is distorted when mapped
planar as seen in image 35.
image 35
15
16
By the way, textures in FS2004 do not need to be square at all.
The small rectangle on the right is the plane, the simulator renders the registration on.
Now, because planar and tubular mapping in most cases require different handling, how can they be
distinguished? Image 36 shows a comparison between the PAD Dash 8Q400 on the top with the
default B737 on the bottom. The upper part showing a planar and the lower part showing a tubular
mapping.
image 36
With tubular mapping, the sections of the fuselage are mapped in equal size whereas the planar
mapped grid narrows towards the top and the bottom of the fuselage thus leading to the above
discussed distortion. This is the reason that some elaborate paintschemes such as the Northwest
Illinois and Florida One, to name a few, are very hard to paint on planar mapped fuselages.17
There is another pitfall adherent to these two mapping techniques. As an example, here is the paint
scheme for a German virtual airline named Leipzig-Halle-Airlines (LHA) shown in image 37. The paint
scheme requires that the yellow line separating the blue tail from the white fuselage has an exact
angle of fortyfive degrees. The model in image 37 is an SMS/Overland model with planar mapping
and obiously working perfectly.
17
This applies among others to the PMDG, iFly and Overland B737NG models
image 37
Now let's do this with our tubular mapped FS 2004 default Boeing 737-400. 18
image 38
The result looks like image 39 in 3D Studio as well as in the simulator.
18
I dare to cite this texture here. This is not my paint. This repaint is made by Manuel Tischler of LHA.
image 39
This line has actually a slightly s-shaped curve. It does not look bad at all, but is not what we want to
achieve compared to image 37. How can this be achieved? We will now apply a dirty trick and
simulate the planar mapping. We load the aircraft into 3D Max and slice19 the fuselage exactly where
we want the line to appear. This is shown in image 40.
image 40
We then export the 3ds-model, import it into Lith Unwrap and export the new UV-map again. The
result is shown in image 41.
19
Mesh Modifier List Slice, then adjust the slice plane in the 45° angle. Choose refine model.
image 41
The planar slice through the model results in a counter s-shaped mapping grid that we can use as a
template to draw the separation line as in image 42. Please mind! The mapping and the model itself
in the simulator are, and will be, left untouched!
image 42
In the simulator, we will have the result shown in image 43.
image 43
The image 43 shows the genuine paint from image 40 in the upper and the reworked image as in
image 42 in the lower half.
Now, let's move on and continue the work with the paintkit.
5. The Paintkit - Part Two
We now have our rudimentary paintkit as in image 44, consisting of left and right grid, template and
the marker crosses.
image 44
In order to be able to precisely cut out the desired part when the paint is ready, we define the
boundary for the cutouts now. I do this with a path but this will work with shapes also.
image 45
I hide all unused layers, select the entire part plus the marker cross and use the selection to path
tool. Then I name the new created path fuselage rear L&R. When I need to select the rear fuselage
part later, I only need to CTRL-Click on the path tool entry. I do this with any required part as seen in
image 46.
image 46
Having the template and the grid, lets add some more to the paintkit. In the paint layer, apart from
the template, I put the color paintjob except text and logos which I usually reserve an extra layer for.
Also I tend to separate the left from the right side of the paint. Aircraft details such as doors and
windows, lines, rivets, hatches and other details are stored in other separate layers. The same applies
to the dirt and shadow layer. I set up these layers in advance what makes the layer toolbox look like
image 47.
image 47
I assume that the reader has essential knowledge of how to paint. Hence I will not elaborate on this
but rather give some hints on often encountered issues. Another issue is, how to obtain reasonable
shadows for the aircraft. This applies mainly to fuselage underbelly, T-stabilizers, rear mounted
engines and high mounted wings. As an example, image 48 is a genuine paint of the PAD Dornier
328Jet as it comes with the download.
image 48
There are no shadows at all. Having been asked by the developer to paint the Do 328J German
ADAC20 livery, I looked for a way to achieve a reasonable and convincing cast of shadow without
having to guess at all. As we saw before, we have all the prerequisites to do this. We fire up 3D
Studio and load the desired aircraft. Then we detach all non fuselage parts as a separate object and
image 49 shows, what does the trick.
20
Allgemeiner Deutscher Automobil Club – German Automobile Club. ADAC uses these planes to repatriate
victims of traffic and other accidents abroad.
image 49
We set the non fuselage parts to not visible to camera in the objects properties. In addition we give
the fuselage an overall white material. Set up the lighting as required and camera to ortho, image 50
shows the rendered result. I made the magenta background for easy selecting and cutting of the
image.
image 50
Now, let's cut this out and use it for the paintkit. Image 51 shows it with the mapping grid for proper
sizing.
image 51
Setting the layer properties to multiply and opacity to about 40% gives the result shown in image 52.
image 52
Now we see the shadows of the underbelly, gear housing, wings, engines and horizontal stabilizers.
You may compare this with image 48, and consider that this is done without one single stroke of the
virtual brush.
The ready made ADAC paint looks like image 53, by the way. As can be seen, it has not the exact
same lighting as the example above.
image 53
Going on with our default B737 paintkit, we rendered the model the same way as described with the
Dornier 328 Jet which results in image 54.
image 54
A little refinery work later, we have a basic shadow in our paint kit to work with.
image 55
We can, of course, adjust the amount of shading to our desire.
In some cases, we want to give the aircraft a used look. This is where some dirt is added. This is how I
achieve the typical dirt, visible below door and window sills. Onto a separate layer, I draw a thick line
as shown in image 56.
image 56
In the next step, I then smear the line with the finger tool.21
image 57
Then I select and resize the dirt as in image 58. This is done separately for the windows and the door
sill.
image 58
Now we have to get rid of the dirt where the windows are and in the spaces between the windows.
In the windows layer, we can Click-select the windows and then stretch the selection like in image 59.
21
The best results will be achieved with a touch sensitive board and pen such as the Wacom Bamboo Pen and
Touch which is quite affordable.
image 59
Then invert the selection and delete the paint in the window dirt layer.
image 60
Then reducing the opacity to about 10% will end up with a result as shown in image 61.
image 61
In the next step, we add the overall dirt caused by dust and rain. This will be barely visible on the
completed livery. Here we need some vertical stripes. I usually make the stripes with the gradient
tool, using the noise option.
image 62
It doesn't matter which color or preset you use. Image 63 shows the intermediate stage with the blue
hue preset.
image 63
In the next steps, we set the saturation to zero and the spread22 as desired.
image 64
Image 65 shows the result with opacity set to 10%.
22
This is CTRL-L in Photoshop.
image 65
As we see, the stripes are barely visible. One may also add some overall dirt with the same technique
but using a cloud filter23 rather than the gradient noise.
Having covered shadows and dirt, I will not elaborate on the paint itself. I think this is simply a matter
of drawing and pasting lines, shapes, text and logos onto the appropriate layers. Once I am finished
with the paint, I save the file. Then I rename it filename_flat.psd to avoid accidentally losing the
layers through saving the flattened image.24 Then I flatten the image which is then ready to be copied
to the texture file. Once a Photoshop image is flattened, there is no access to the layers. This means
that we have to flatten the image separately for the left and the right part of the fuselage.
The flattened image is now ready to be copied into the texture file.
image 66
The ready made paint for the default B737-400 could then look like image 67.
23
24
I use the "Little Fluffy Cloud" filter from the Alienskin Xenofex Filter suite.
Those, who have lost a week's work doing so, know what I mean.
image 67
Images 68 and 69 show the paint in the simulator.
image 68
image 69
6. The Alpha Channel
As mentioned in Chapter one, the texture file usually does not only contain the RGB channels but
also a separate channel. This channel is by default named the alpha channel. The alpha channel is an
8-bit channel ranging from black to white. In FS2004 the alpha channel determines the
environmental reflection as on reflective surfaces such as bare metal or glossy paint.
Let's do some tests to see how this works. Image 70 shows the rear fuselage section of the iFly 737700 painted in metallic grey with an all white alpha channel.25
image 70
Image 71 shows the mid section of the same aircraft and image 72 the mid section's alpha channel.
The grayscale determines the amount of reflection. Where the alpha channel is white, there is no
reflection at all and where the alpha channel shows black, there is maximum reflection.
25
Note that an all white alpha channel will be converted by the image tool as no alpha channel at all.
image 71
image 72
image 73
The result in the simulator is shown in image 73. The rear part shows no reflection at all, whereas the
front part shows a lot of reflection. This surely is what we expected. Now, what exaxtly is "the
reflection" or what is reflected? In the real world obviously the surrounding area of the aircraft and
occasionally parts of the aircraft itself are reflected on the surface. In the simulator this would
require too much ressources from the viewport renderer. Therefore the renderer takes a generic
texture which will dynamically be mapped onto reflective surfaces. This texture is called the
environment map. It is stored in the C:\Program Files (x86)\Microsoft Games\Flight Simulator
9\Texture- folder by the filename envmap.bmp and looks like this:
image 74
Now let's just do a closer examination. I altered the environment map as shown in image 75.
image 75
The images 76 through 79 show the above environment mapped to the aircraft's front and mid
section in various angles. We plainly see that the texture is mapped dynamically by the simulator's
renderer.
image 76
image 77
The mapping dynamically changes with the viewing angle as a real reflection would.
image 78
image 79
The RGB (color) channel in the texture file determines which part of the aircraft has which color, and
the alpha channel of the texture file determines the amount of reflection while the reflected
environment is stored in the environment map. The environment map is used by all other objects in
the simulator also. Caveat! When you omit the alpha channel in the environment map, all high
reflective areas on the aircraft will be rendered transparent. Though, if you encounter any
transparent areas on a downloaded livery, check the environment map first. Image 80 shows varying
degrees of reflection on a iFly 737-700 livery.
image 80
7. Fiat Lux – Let There Be Light
The night lighting is added to the model via the lightmap texture, usuable distinguishable by the
trailing _L in the filename. For the default B737-400 the file is named b737_400_l.bmp and looks as in
image 81.
image 81
Image 82 shows the familiar sight of the aircraft at night with panel and landing light switched on. All
non black parts of the light map will be added to the texture in the simulation. In this case it is the
landing light reflection on the fuselage, the lighted windows and the window's reflection on the
wing26. Be aware that the lightmap is not a black/white but an RGB image and light may also be
tinted. The alpha channel of the lightmap works as a mask as described below. also note that the
light map does not need to be the same size as the texture itself. In case of the default Boeing 737400 the texture size is 1024x1024 pixel and the light map has a resolution of 256x256 pixel.
26
This is the vertically mapped part on the top.
image 82
If we now switch off the landing light but leave the panel light on, we will see the plane like in image
83.
image 83
Which part of the lightmap is visible with landing lights switched on, is determined in the alpha
channel of the light map. This is shown in image 84.
image 84
All areas not white in the light map's alpha channel will be rendered according to the lightmap's RGB
channel at simulator's night time when the panel lights are switched on and the landing lights are
switched off. Though the alpha channels shown in image 84 and 85 will lead to the same result.
image 85
8. Getting The Paint Into The Simulator
I consider getting a new or downlowded paint to work in the simulator a common task and therefore
will only do a brief outline.
First, I copy an already present texture directory and rename it to my preference. Then I convert the
new textures including the lightmap to the desired file format. In general I use DXT3 with either alpha
or colorkey.27 If the alpha channel is entirely white, I recomment to paint at least one black pixel 28
into the alpha channel. This results in the channel being regarded as colorkeyed upon converting to
extended BMP format. Otherwise the paint will look blurry in the simulator. The converted texture
files are then copied into the new texture directory.
In the aircraft.cfg, we copy an entire [fltsim.x] entry and alter as usual:





the subsequent number in the header: [fltsim.x+1]
the title, because it has to be unique
the texture directory (texture=texture.mytexture)
ui_variation for distinction
and atc_ id/airline/flight_number and description as required
Example:
[fltsim.14] Last entry
title=iFly 737-800 Hongkong Airlines B-KBU (Normal screen)
sim=iFly737_800_24k
model=
panel=normal
sound=
texture=bkbu
kb_checklists=
kb_reference=
atc_id=
atc_airline=
atc_flight_number=
ui_manufacturer=Boeing
ui_type="iFly 737-800 (Normal screen)"
ui_variation="Hongkong Airlines B-KBU"
description=Repaint: Volker M. Bollig \/iFly Jets: The 737NG v1.0 for Flight Simulator
2004\n\nAircraft by iFly Developer Team\nFSUIPC payware Licensed from Pete Downson\nNavData
from http:\/\/www.navdata.at\/\nSID\/STAR from http:\/\/PlanePath.com\/\n\nemail:
[email protected]
visual_damage = 1
Last entry copied and altered as shown.
[fltsim.15] New entry, subsequent numbering required!
title=iFly 737-800 Hongkong Airlines B-KBK (Normal screen) Must be unique
sim=iFly737_800_24k
model=
panel=normal
sound=
texture=bkbk The new texture directory
kb_checklists=
kb_reference=
atc_id=
atc_airline=
atc_flight_number=
27
I will not discuss the file formats and mipmaps here because there are a wide variety of excellent
explanations available, e.g. on http://www.fsdeveloper.com/
28
I paint it in the upper left corner
ui_manufacturer=Boeing
ui_type="iFly 737-800 (Normal screen)"
ui_variation="Hongkong Airlines B-KBk old livery" description
description=Repaint: Volker M. Bollig \/iFly Jets: The 737NG v1.0 for Flight Simulator
2004\n\nAircraft by iFly Developer Team\nFSUIPC payware Licensed from Pete Downson\nNavData
from http:\/\/www.navdata.at\/\nSID\/STAR from http:\/\/PlanePath.com\/\n\nemail:
[email protected]
visual_damage = 1
A word on the ui_manufacturer entry. A lot of flight sim aircraft developers seem to consider
themselves as aircraft manufacturers. I do not agree with this. A Boeing is a Boeing is a Boeing. There
is no such manufacturer as PMDG-Boeing, iFly-Boeing, Dreamfleet-Boeing, Feelthere-Boeing or SMSBoeing. I expect to find any Boeing under the manufacturer Boeing, any Airbus under the
manufacturer Airbus, any Piper under the Manufacturer Piper and so on. It is the ui_type and the
ui_variation entry which may deal with the simulated model's developer. I consider it unpleasant and
annoying to have to rework all entries of newly installed aircrafts in order to find them where they
belong.
9. Mapping Examples
We have recently examined the default Boeing 737-400 mapping and discussed its advantages and
drawbacks. Now let's have some fun and couriously examine some other aircrafts to see how they
are mapped and textured. To have an easy overview of mapping and distortions I replaced the
model's outer textures (fuselage, wings, stabilizers and engines) with chequered textures in different
colour like the texture shown in image 86.
image 86
Foe each texture I took a different colour scheme, hence we also can easily determine how much
texture files are used for the outer paint29. I took payware and freeware models as well, but the focus
is on, more or less well known, payware models. The models are:









29
AFS Design A318-100
SMS/Overland A320
PMDG B737-700
Wilco B737-400
LevelD B767-300ER
Project Opensky B777-300ER
Digital Aviation Dornier Do 27 B1
POAB Fokker 50
Samdim Tupolev Tu 114
Well, not exactly because i omitted some minor detail and the inner and VC textures because there are not
really relevant for this topic.
AFS A318-100
The recently published AFS A318-100 is shown on the images 87 through 89.
image 87
The fuselage is mapped to one texture file for each side. The three part division of the structure is
marked 1 and 2. What is also easy to see, is that the tail and the engines are mapped in another scale
than the fuselage. This has to be taken into account when making a paintkit.
image 88
Looking on the top of the aircraft, the distortions show, that the fuselage and the engines are
mapped planar. We see the same on image 89 except for the underbelly, which has a distorted
mapping. The wing leading edges and tail rudder are mapped separately from the wing respectively
the tail.
image 89
Simmer's Sky / Overland Airbus A320
Images 90 through 92 show the SMS Overland A320 which comes, like all Overland airplanes, with an
excellent paintkit.
image 90
The fuselage is mapped planar and the tail has the same mapping scale as the fuselage. Only the
engines are mapped in a smaller scale than the plane itself. The wing's leading and trailing edges as
well as the flap supports, the flaps and slats are mapped separately. The right wing's inlay is mapped
on a different texture which allows for painting a registration.
image 91
As we see in image 92, the underbelly is mapped planar with a viewing angle from the bottom hence
does not have the distortion as the fuselage itself. This has to be taken into account when repainting.
image 92
PMDG Boeing 737-700
The next one is the PMDG Boeing 737-700 and shown in images 93 through 96.
image 93
As can be seen, we have a planar mapping of the fuselage. Also, the engines and the tail are mapped
in different scales and to add to this, the mapping of the tail is tilted by some degree.
image 94
image 95
The center part of the belly is mapped in another scale which is also a bit skewed.
image 96
Wilco 737-400
Now we have a look on Wilco's PiC Boeing 737-400:
image 97
Here we have a planar mapped fuselage with the tail in the same scale. This is an easy one for
repainting. As with most other planes, the engine nacelles are mapped in smaller scale.
image 98
image 99
The Wilco 737-400 also shows a planar mapped underbelly with some distortions.
LevelD Boeing 767-300ER
image 100
image 101
image 102
The LevelD Boeing 767-300ER also shows a planar mapping with a different mapping scale of the
underbelly and the engines.
Project Open Sky Boeing B777-300ER
The Triple Seven's fuselage is mapped to six sections using three texture files per side. We also have a
planar mapping here and a separate underbelly.
image 103
image 104
image 105
All the aircraft shown above are mapped similar with planar mapped fuselage and smaller scaled
engine mapping allowing more details to be painted on the engines. Also the underbellies are
mapped separately.
Now we have a look to some examples, showing somewhat more extreme mapping techniques.
Digital Aviation Dornier Do 27 A1
image 106
image 107
image 108
If you ever asked yourself, why the DA Do 27 cuts the framerate of the FSX by 10-20 frames
compared to most other airplanes, here is the answer. What a waste of ressources.
But if you think, one couldn't go further, have a look at the next one.
POAB Fokker 50
The POAB Fokker 50 shows a planar mapping, separate mapped underbelly and engines a usual. But
using twelve 1024x1024 texture files for fuselage and tail alone is simply ridiculous. Most of the
texture files are also used partly leaving up to 60% of their space unused. Keep in mind that the
texture files ought to be loadad into the system's memory nevertheless.
image 109
image 110
image 111
At the other hand, if painted properly, this model looks fantastic in the simulator anyway.
Samdim Tupolev Tu 114
Sometimes, a model desperately tries to resist being repainted. One of them is Samdim's fantastic
Tupolev Tu 114, the world's largest propliner ever. I like this plane very much and Samdim did a great
job on this model. Therefore I was keen to have it repainted to our virtual airline livery. What I
encountered was this:
image 112
image 113
image 114
This looks not so bad on first glance, but having a closer look, we see that the fuselage is mapped in a
different scale for each of the four sections. Fuselage, tail, wing and engines only take four texture
files, their mapping is somewhat inconsistent in respect of the mapping scale. This makes it hard to
create a proper paintkit. This seems to be the reason, that there are so few repaints of this plane to
be found.
image 115
10.
Conclusion
I am aware that this short essay cannot cover all aspects of repainting any Flight Simulator aircraft.
There are a lot of tutorials and information to be found around in the net. My goal was to give a brief
oversight on repainting itself and emphasize on some points I consider interesting.
December 2010
Volker M. Bollig
[email protected]