
Version 2.2 – April 21,
2002
By Allen Kriesman
akriesman@usa.net
(English Manual Version)
Chap
1: General Information And Installation
Differences Between TerraModels V2.2
and TerraModels V2.1
Differences Between TerraModels V2.1
and TerraModels V2.0
Installing the TerraModels Texture
Pack
3.2 Using the “Display Tool” to align
the background
3.3 Placing Scenery Objects - Overview
3.4 Adding a building (office,
hangar, cargo, maintenance, terminal, low-poly)
3.5 Selecting and Obtaining object
information
3.6 Adding A Control Tower or Storage
Tank
3.7 Creating a forest (Group Of
Trees)
3.8 Adding airport signs (runway and
taxiway)
3.10 Creating a Housing Subdivision
3.11 Placing pre-existing objects
Chap
4: Using Scenery Placement Properties
Chap
5: Packaging Your Scenery For Release
Packaging Scenery For Uploading
Uploading Your Project To Avsim
Chapter
7: Creating Frame-Rate Friendly Scenery
Chap
8 : Downloading USGS Images (using TSGRAB.EXE)
Another Feature Of Using TSGRAB
Images
Can I Call TSGRAB application
Directly ?
Appendix
A: Adjusting The Fly 2 Runway Coordinates
When and Why Do The Adjustment ?
How The Adjustment Is Actually Made
Using TerraModels
Releasing Scenery With Modified
Runway Coordinates
Making The Runway Changes (Summary)
Appendix
C: Scenery File Structure
Appendix
D: Fixing Misaligned Taxiway Display In TM
The TerraModels software contains everything you need to create airport scenery for Fly2, except for the TerraModels Texture Pack.
You must also download and install the latest “TerraModels Texture Pack”. This can be downloaded from www.avsim.com/terramodels.
The “TerraModels Texture Pack” contains all the textures used by the TerraModels objects. It also contains some predefined object models. The texture pack is fairly large (initial release is over 27mb decompressed).
What are the benefits of having the texture pack ?
Each TerraModels texture pack will contain 2 files:
If you share your scenery, users will have to also download the texture packs. As mentioned, this is a one-time download.
If you have a 32mb video card or higher, you will probably want to use the high resolution texture pack.
If you have a video card less than 32mb, you will probably want to use the low resolution texture pack.
You should never install both texture packs at the same time.
The TerraModels installer will get you up and going in no time. You can download the TerraModels installer from www.avsim.com/terramodels.
You can install TerraModels into it’s own directory. If you have TM 2.1 installed already, you can also install TM 2.2 on top of it TM2.1 without losing work on previous sceneries.
TerraModels is created using Visual C++. There are no required registry entries, or custom DLL’s to be installed. You can uninstall the software by deleting the entire TM2 directory, and it’s subdirectories. You can use “Add/Remove Programs” to remove all references to the program in windows.
Note: The previous version of
TerraModels required you to manually install the TM2.TTF font. The new installer does this for you
automatically.
NOTE:
TerraModels prefers windows 95,98,or 2000 to be running in “small fonts”
mode. Large fonts will work, but may
not look correct in many instances.
![]()
The toolbar is
broken down into color-coded groupings of similar operations.
If you are in the
USA, background image acquisitions can be handled automatically by
TerraModels. This is done during the
project creation phase. The downloaded
USGS images will be geo-referenced, so they will generally be automatically
aligned with the Fly2 runways and taxiways.
If the images are slightly off, you can easily align them with the
“Display Tool”.
For those outside
the USA, TerraModels can use any user-supplied Windows Bitmap (BMP) as the
background image. Satellite images and
runway diagrams are ideal. The
“Display Tool” will be used to initially align the images. After the images are initially aligned, they
will remain aligned despite zooming and moving to an area outside of the
display area.
Satellite images
will provide the greatest amount of detail, but are difficult to find outside
the U.S.
Some good sites for
obtaining these images are:
This chapter will
create a sample project using a user-supplied background image. USGS images are even easier, and will be
described in Chapter 8.
The tutorial is
broken down into sections:
3.1 Creating the project
3.2 Using the “Display Tool” to align the
background.
3.3 Placing scenery objects - overview
3.4 Adding a building (office, hangar, cargo,
maintenance, terminal, low-poly).
3.5 Selecting and Obtaining object information
3.6 Adding a control tower or storage tank.
3.7 Creating a forest of trees.
3.8 Adding airport signs (taxiway and runway).
3.9 Adding a parking lot.
3.10 Creating a
housing subdivision.
3.11 Adding a ground
marking.
3.12 Adding a fence
border.
3.13 Placing
pre-existing objects.
For the tutorial,
we will be using a sample background image.
The airport is Ardmore Municipal, in Ardmore, Oklahoma USA.
Note: To supply your own background image. You need to save it in the TM2\IMAGES folder. The image must be a windows bitmap (BMP). The filename should be 3-characters, which represents the airport code (minus the leading character for 4-letter codes). Examples: DFW.BMP (Dallas-Ft Worth), DUS.BMP (Duesseldorf), KPR.BMP (Prague Ruzyne).
·
Create a new
project by selecting “New Project” from the “File” menu, or select the
icon from the toolbar.
·
Select
“Ardmore Municipal” by entering “ADM” in the “FAA or ICAO ID” field. Press “Select”.
·
The program
will ask if you want to “Download USGS Images Now”. Press “No”.
The USGS
download process is discussed in more detail later in Chapter 8.
For now,
please continue with the tutorial.
As you can now see,
the Fly2 runways do not line up with the background image. We will use the “Display Tool” to correct
this.
To bring up the
“Display Tool” click the
icon in the toolbar.
![]()
The display tool is broken into 3 sections.
As you can see, the “Align” section is normally disabled. This is done as a safety precaution to prevent accidental alignment alterations. Because we need to alter the background alignment, we will now enable the section by pressing the unlock button below:
.
As you can see, the “Align” section has been enabled.
![]()
In the “Align”
section (not the ‘View’ section, which moves the runways and background in
sync), you will use the blue buttons to move the background image behind the
Fly2 runways. The + and – buttons will
change the size in either direction, or both.
You should now use
the “Align” section buttons to align the image. If you want, I will give you some hints shortly. After a while, it will only take you a
minute or so to do. Don’t forget to
adjust the precision settings as necessary.
Get the image as
closely aligned as possible (hints coming up).
Sometimes, the runways will not match perfectly. Generally, this is not a problem. However, some of the Fly2 runway/taxiway
positions may be slightly out of alignment (as is the case above). Just do the best you can.
Here are the
hints. If you have already made
changes, press the “Reset” button to reset the image to the default starting
point.
Looks pretty good ?

After finalizing
your alignment, press the
button to lock the “Align” section. This will avoid any future ‘accidental’
alignment changes.
Try zooming in and
out using the buttons in the “View” section.
The runways and background will now move in sync. The “Bulls-eye” Icon will always re-center
the image using the airport coordinates.
TerraModels
provides the ability to create and position newly created custom objects, or
position pre-existing objects.
For the purposes of
discussion, I will call newly created objects “custom objects”, and
existing objects “pre-existing objects”.
There are of 8 types custom objects that are created with
TerraModels:
·
Buildings
(office, cargo, maintenance, terminal, hangar, low-poly).
·
Control Towers
and Tanks
·
Signs (runway
or taxiway)
·
Forests
(groups of trees)
·
Parking lots
·
Housing
subdivisions
·
Ground
markings
·
Borders/Fences
Custom objects in
TerraModels are uniquely sized and positioned by clicking on the background
image.
In addition to the custom
objects, you can also position any of 3 types of pre-existing objects. These consist of:
Pre-existing
objects are positioned using a single mouse click. They can be moved and rotated, but cannot be resized (at least
not yet).
Scenery objects in
TerraModels will be displayed using one of the colors below:
ü
Grey - Runways
ü
Gold -
Taxiways
ü
Blue –
Buildings
ü
Green – Group
of trees (green border with greed dots indicating tree positions)
ü
Orange -
Static objects
ü
Yellow –
Runway and Taxiway signs
ü
Pale Yellow –
Parking lots and ground markings.
ü
Purple -
Subdivisions
ü
Red –
Indicates the current selected object (building, static object, tree group,
sign, etc)
After a new object
is created, it will be displayed in RED.
Red always indicates the current selected object. Only one object can be selected at a time.
There are many
operations that can be done on a selected object. These will be discussed later.
Also, you will see a white (or black) line extending from the face of
the object. This line indicates the
object’s orientation/rotation. The
orientation is discussed next.
Object Orientation
As just mentioned, each TerraModels object will have a white or black
line extending from the middle of the object.
This line points in the direction of the object orientation. It is best to think of the line as the
little hand on a clock. If the line
points straight up (12 o’clock), then the object is pointing due north (0
degrees). If the line is pointing
downward (6 O’clock), then the object is pointing due south (180 degrees).
For example, here is a taxiway sign that is oriented towards the north (notice how small the object in red is due to the small size of the sign versus the current resolution).

Another thing to remember, is that the line always extrudes from the front face of the object. If you were in an airplane looking at the front face of a taxiway sign, the line would be pointed straight at you.
Note: the ‘Front’ of an object is subjective. It really depends on how the object was
rotated when it was created.
If you wanted the taxiway sign above to be on the left side of the aircraft when taxiing, you would want to shift the rotation to make it parallel with the taxiway. This is done with the object move window. Hence, the final orientation below is 332 degrees.

If the
background image itself is white, you might want to switch to a black line to
show object orientation. You can do this in the “Preferences” window
(Edit/Preferences).
.
Buildings are sized
and positioned in TerraModels by clicking 3 points (3 corners) on the
background image.
There are six types
of these buildings in TerraModels:
ü
Office
building
ü
Cargo building
ü
Maintenance
building
ü
Terminal
building
ü
Hangar
ü
Low-Poly,
Low-Texture (fewer polygons, all textures crammed into one).
To begin adding a
building, press the
button from the toolbar.
As discussed
previously, you will now size the building by clicking on 3 corners of the
building in the background image. You may want to temporarily hide the taxiways, in
order to see the buildings in the background image. You can do this from the “Hide Background Image” item in the
“Background” menu.
After each click,
you will see a red dot on the screen.
After the 3rd
click, the “Create New Building Object” window will be displayed:

The first thing you
must do is select the “Object Type”.
As you do, you will see a constructed image displayed (initially using
default values). You can change the
roof type, texture, and maybe even override the default object dimensions
before saving the object.
You will notice, that each time you change the object type, some of the default values will change (roof type, roof height, building height, number of floors)
To create the
model, press “Generate”. Buttons are
also available to view the model in 3D using the SMFVIEWER (day and night
models).
When you are happy
with the model, press “Place”. If you
press “Cancel”, the model will be deleted.
That’s it ! After pressing the “Place” button,
the “Create New Building Object” window is closed. The new object is displayed as a box in the display. The new object will be bordered in red,
indicating that it is the current selected object.
By default, the
object orientation is determined from the previous mouse clicks. You can change the orientation, or
reposition the object, by opening the Object Move window
.
The current selected object is always displayed in red. You can select objects by:
·
Double
clicking them
·
Selecting them
from a list ![]()
·
Selecting the
next/previous item ![]()
If small objects are difficult to select, then you can change to the
“Select Nearest Object” mode. In this
mode, you can click anywhere on the display, and the nearest object will be
selected. You can toggle this option
from the “Mode” menu.
To view the current selected item, press the
button. This will display a window containing
information about the object, and a bitmap image of the object (buildings
only). From this window, you can also
change the “Object Placement” flags, and view the model in 3D using the
SMFVIEWER.
Control towers and
storage tanks are of a uniform size.
Therefore, you only need to
click two points on the display. The
width, depth and position will be calculated from these points.
To add a storage
tank or control tower, click the
button on the
toolbar.
The “Building – Tank/Tower” window will then be displayed.

You can currently
choose between the 3 types of tower/tank objects.
For each type of
building, you can select the concrete type from those displayed.
For control towers,
you can also choose a glass texture. To
apply a transparent glass texture, select the “Use Transparent Window Texture”
button.
If you do not like
the building dimensions, feel free to override them.
To create the
tank/tower, press the “Generate” button. As with buildings, you can view the object in 3D, or change the
object placement flags. Press “Place”
to position the object.
To add a group of
trees, click the
button on the
toolbar.
To create a group
of trees, you will first use mouse clicks to define a polygonal region that
will contain the trees. Then, you will
plant the trees within this region using the mouse.
The first step is
to define the polygon region:
1.
Mark off the
boundary area for the group of trees by left-clicking on the background image
to create a polygonal region.
2.
Close the
polygon region by clicking the right mouse button.
The image below shows 4 mouse clicks that are used to define a grove of
trees.

After right clicking the mouse, the polygon is closed.

The next step is to plant the trees.
1.
Using the
mouse, left-click within the polygon area to plant each tree. A green dot will appear. This is where each tree is to be planted.
2.
Press the
right mouse button to end the planting.

After pressing the right-mouse button, the “TerraModels Forest
Generator” window will be displayed.

This window will tell you: the width and depth of the region, the number
of trees that will be created, and the number of polygons/vertices included in
the tree group.
The minimum and maximum height values specify the range of tree heights
that will be created. TerraModels will
generate random tree heights within this range of values.
You can also select the texture set region: Plains, Alpine, or Tropical.
You cannot change the number of trees that are to be generated. This is because the individual tree
positions were previously defined using the left-mouse clicks.
If you check the ‘Create Empty Night Model’ box, then the trees will
disappear at night. This may improve
your night frame rates.
The last issue to discuss is the “Use Double Polygons” box. By default, this box is not checked, and
tree objects are constructed using intersecting polygons. This can cause some slight visual effects
anomalies at the point of intersection.
If you check this box, TerraModels will double the number of polygons to
avoid the intersection. Since you will
probably want to create hundreds, if not thousands of trees, you probably want
to save all the polygons you can. The
choice is yours. Try it out and see
what you prefer.
There is also a documented problem with the way that
Fly II handles transparent textures.
You will hear some people refer to this as the “transparent texture
bug”. The problem will become
especially apparent when there is a large area of closely grouped trees, with a
bright sky behind. You may see some
strange results. TRI is looking into
different ways of improving this issue.
However, most of the fixes come at the cost of frame rate reductions,
which is not preferable. Perhaps there
will be a good solution at a later time.
Press “Generate” to create the forest model, and “Place” to position it.
This task used to be a tedious chore.
It is almost fun now J
Note: If your taxiways seem slightly out of alignment with the runways
in TM, you should adjust their positioning before placing taxiway signs. See Appendix E for examples and solutions.
To add airport signs, press the
button in the
toolbar.
First, you will need to click a single point on the map to determine the
sign location.
After positioning the sign, the “Taxiway/Runway Sign Generator”
window will be displayed.

Creating the signs is very simple.
All you have to do is:
1.
Select the
colors for Runway, Taxiway, Taxiway-Crossing, or Runway Length.
2.
Click inside
the box labeled “Type Symbol(s)”
3.
Type your
letters, numbers, and symbols in the “Type Symbol(s)” edit box.
4.
Press the “Add”
button to show the results that you have typed in.
5.
Repeat steps
1-4 to combine different types of symbols.
6.
Press
“Generate” to save the
sign.
Additional sign features/hints...
ü
If you are
changing textures within the sign, you must press the “Add” button to terminate
the current group of symbols. You
should do this before moving on to the next group.
ü
Press the “Double
Sided Sign” box to create a sign with symbols on both sides.
ü
Press the “Display
Night Version” box to toggle on/off the night version of the sign. This has no effect on the generated
model. It is used for display purposes
only.
ü
Press the “Clear/Restart”
button to start over.
ü
Press the
“Arrow” keys for special arrow symbols.
The arrow symbols will appear in the edit box as one of the following
characters: [,],(,),{,},<,>. But,
the arrows will be displayed correctly in the sample sign area when you press
the “Add” button. TerraModels uses a
custom font for the taxiway signs (TM2.TTF).
In the font, the
[,],(,),{,},<,> symbols have been altered to look like taxiway
sign arrows.
When you press the “Generate” button to create the sign model,
TerraModels will create an object model and a custom texture. The texture size will depend on the number
of symbols used in the sign.
ü
1 symbol
= 32x32 texture
ü
2-4 symbols =
64x64 texture
ü
5-16 symbols =
128x128 texture
ü
17+ symbols =
256x256 texture.
As you enter the symbols, you may see the “Required Texture Size”
value change.
Note: Instead
of recreating duplicate symbols each time, you should use the “Object Copy”
feature of TerraModels to
duplicate the taxiway signs. This will
save unnecessary use of texture slots.
There are some special signs already created for you in the TerraModels
Texture Pack. You can place these signs
by pressing the “Select Stock Sign” button.
Pressing this button displays the following window:

To place one of these signs, select one of the radio buttons and press “Place”. You will be returned to main TerraModels
interface window.
These signs are available in both single and double sided versions. The default is single-sided. Press the “Double sided Sign” button
to switch to a double-sided sign.
Do you want to add
a custom sized parking lot to your scenery ?
It’s very easy, and only takes a few seconds.
To add a parking
lot, click the
button on the toolbar.
You will now size
the parking lot by clicking on 3 corners of the lot in the background
image.
After each click,
you will see a red dot on the screen.
After the 3rd click, the “Parking Lot Generator” window
will be displayed.

All you have to do now, is specify the number of autos that will be
added to the lot. The autos will be
randomly positioned within the lot area by the generator.
Unlike TerraModels 2.0, the parking lot will be generated without
underlying pavement by default.
If you want to add a ground texture, select “Create Ground
Texture”. Also, select “Concrete”,
“Grass”, or “Dirt”.
The ground texture will be created as a separate object from the parking
lot. This must be done to support the
new No-Zbuffer feature available in the Fly2 Build 230 patch. The No-ZBuffer option was added for flat
objects. Using this feature, you will
no long see flashing and interlacing of ground objects. Since the no-Zbuffer feature cannot be used
for the 3D automobiles, TM2.1 has to create separate models for the autos and
ground texture.
If you using the 3D viewer to view the object, you will only see the
autos. The 3D viewer can only view a
single object at a time.
Note: when the parking lot is displayed in the main TerraModels window,
you will see two separate boxes drawn.
The inside box is the actual parking lot boundaries for the autos. The outside box is the ground texture used
(if any).
The subdivision
generator has been greatly enhanced for TM 2.1.
To create a subdivision,
you will mark off an area using mouse clicks.
The subdivision generator will automatically fill in the region with
houses.
To add a housing
subdivision, click the
button on the toolbar.
You will now use
the mouse to left-click on 3 corners of the rectangular area, which will
contain the subdivision. The 4th
corner will be computed by the software.
After each click,
you will see a red dot on the screen.
After the 3rd click, the “Subdivision Generator” window
will be displayed.

The subdivision generator is flexible, but can be a little confusing at
first.
By default, there will be only 1 house selected. Initially, the lot size will be the entire
selected area (as will the yard size).
As you change either the “Houses Per Row” or “Rows Of Houses” value, you
will see the Lot Width/Depth value change (also the yard size).
Lets say you wanted to create a subdivision with multiple lots 80’ wide
and 130’ deep. You could break up the
1740x1640 lot into about 252 houses (21 houses per row x 12 rows). Since the maximum number of houses per
object is 100, this would actually contain too many polygons.
By default, grass yards are turned off.
If you turn this feature on, the house will be surrounded by a grass
yard of the specified width/depth. The
Yard size will shrink as necessary, with the lot size. It will never increase on it’s own.
I recommend not turning on the grass yards. This is because the yards are part of the same subdivision
object. As a result, Z-Buffering cannot be turned off. This might result in texture flashing or
interlacing effects.
A better solution would be to create your own terrain using ground
markings (discussed later).
The house styles and textures will be randomly selected. You can disable any house styles and/or
textures that you do not want to include.
The “Detailed Model Pixel Height” value determines
when the low-polygon version of the subdivision will be displayed within
Fly2. A value of 3, will tell Fly2 to
switch to the low-polygon version of the model when the object is 3 pixels
high. The default value of 3 should be
used, unless you are sure of a better value.
With the release of Fly2 build 230, a new feature was added that greatly
enhances the ability to display ground markings.
What is a ground marking ? A
ground marking is any flat texture that is laid on top of the existing
terrain. A ground marking texture can
be transparent or non-transparent.
New in version 2.2, TM now supports irregular polygon shapes (from 3..n
points)
Some interesting ideas for ground markings might be:
·
Large airport
identifiers that can be seen from the sky (huge letters containing the airport
name).
·
Various runway
and taxiway markings.
·
Yards and
other types of terrain.
·
Parking lots.
·
Sports
stadiums
·
‘X’ symbols to
designate closed runways.
·
Airport
definitions (requires next release of Fly II after build 230)
·
Or anything
else you can think of.
Before creating a ground marking, you must already create a texture
using a graphics editor. The file
format must be TIF, TGA, or RAW. These
are the only formats recognized by Fly2.
To add a ground
marking object, click the
button on the toolbar.
To create a ground
marking object, you will mark off the bordered area using left-mouse
clicks. Add points by pressing the
left-mouse button. When you are
through, click the right-mouse button.

At this point, you need to select the “Texture Format”. Then, you will begin to select a day texture (night texture is optional).
After selecting a texture, it will be displayed in the window. If an object is transparent, you will not see the transparency applied here.
By default, the entire texture will be mapped to the object. However you can use the cropping and sizing buttons to mark a selected area to use. As you change the values, the red triangle will move to show the selected area.
Press “Generate” to create the object, and “Place” to position it.
The ground marking feature implemented by Fly2 is very powerful. It will be interesting to see what people come up with.
Textures and transparency is probably the most confusing thing about understanding the ground markings. This topic is out of the scope of the discussion here. But, you can probably get some assistance from the Fly2 forums on Avsim (www.avsim.com).
This awesome new feature will really add a nice touch to your sceneries, without much frame rate impact.
You can add several different types of borders. TerraModels will automatically align the sections for you (do you remember what this was like before ??).
You can even create an enclosed area. Totally aligned from start to finish.
To create a fence, click the
button in the
toolbar.
Each click on the display area sets a start or ending point. Click the right-mouse button to set the last point.
Note:
If you want to totally enclose the region, do not try and do this yourself. It will be discussed shortly.
After pressing the right mouse button, you will see the following window.

All you have to do now is select a border type and press the ‘Generate’ button. If you want to enclose your fence area, select the ‘Close Fence’ box. If the ‘Close Fence’ box is checked, TerraModels will create a fence section from the last fence position, to the initial starting position.
After generating the fence, you can place it by selecting ‘place’. Of course, you can view it before selecting ‘Place’.
Each ‘10 foot’ fence section contains only 4 polygons in the high-polygon version. A low-poly version is automatically used when the model is smaller than 5 pixels high (in Fly2). The low poly version contains only 4 polygons per section, regardless of the length.
Add lots of fences if you would like. They are very efficient.
You can use the TerraModels to position any pre-existing static model of
type BIN or SMF.
This process has been rewritten to take advantage of 3rd
party POD/MLF files, which contain static objects (special thanks to Biber
Salsa for all his fine work).
To add a pre-existing static model, press the
button in the toolbar. Then, click on the background image to set
the center position.
You will now be presented with the “Selectable Stock Objects”
window (initially empty). The next step
is to select one of the buttons in the “Change Object Type” group. These are described individually below.

The two types of static objects that can be placed with TM 2.2 are:
·
MLF File
Objects – Predefined objects that exist in POD files and are referenced using
MLF files.
·
Stock User
Objects – Predefined objects with the model in Fly2’s MODELS directory and the
texture in FLY2’s ART directory.
Custom user objects can be selected by pressing the “Stock User
Objects” button. You will then be
presented with a list of all *.BIN and *.SMF objects in FLY2’s MODELS
directory.
As you highlight each item, you will see the object filename in the
“Day” box. This indicates the item
that would be used as a daytime model.

To associate a night model with the selected day model, press the
“Night” button. The following window
will then be displayed:

To select a night model, highlight one of the items in this window, and
press the “OK” button. The selected
texture filename will then be returned to the “Selectable Stock Objects”
window as a night model.
TerraModels supports both SMF and BIN object file formats.
All textures associated with stock user objects must exist in the
FLY2\ART directory.
When TM is started for the first time, it will extract models from the GENERIC.POD file (Fly2) and the TMx_xxx.POD file (where x is a version/texture size value). The models will be stored in the local TM22\POD\MODELS folder. The textures will also be extracted and stored in the local TM22\POD\ART folder.
This extraction process allows TM to quickly load object information when requested by the user (dimensions, polygons, texture used, etc).
3rd party POD files, such as BIBER.POD (defined by BIBER.MLF), need to be cataloged by TM before they can be used efficiently. You can catalog a POD/MLF file by selecting ‘Catalog New POD For Terramodels Use” from the “File” menu.

If we select BIBER.MLF, then the contents of the BIBER.POD file (in the FLY2\SCENERY\SHARED folder) will be extracted into the local TM22\POD directory.
Now that we have covered this issue, we can discuss model placement.
When you select ‘MLF File Objects” as the object type, you will be presented a list of all objects from all MLF files in the Fly2’s DATA directory.

You can reduce the list of objects displayed by selecting a specific ‘MLF File’ and/or ‘MLF Category’.
To select and place an object from the list, double-click on the name and select the ‘Place’ button. The window will then be closed and the object placed. If a night model is available for the object, it will be used also.
In the “Selectable Stock Objects” window, you may be wondering
about the following section:

TerraModels allows you to define a 128x128 pixel thumbnail for each
selectable object (of any type).
How does this work ?
·
When you
highlight an item, TerraModels looks in the TM21\USER directory for a matching
JPG filename.
·
If a matching
filename is found, the image is displayed.
·
Daytime images
are displayed in the left box. Night
images are displayed in the right box.
How do you create the thumbnails ?
For example, lets assume that you want to create a thumbnail image for
an object named MYBLD.SMF.
1.
Create a
128x128 thumbnail image.
2.
Save it as
MYBLD.JPG (JPG file format).
3.
Make sure the
file is saved to the TM21/USER directory.
That’s it !
To save your project at any time, just select “Save
Project” from the “File” menu. Or, select the
icon from the toolbar. When you save a project, the Fly II
scenery files will be created.
You should save often J
By default, the
“Autosave” feature of TerraModels is activated. This feature can be disabled in the “Preferences” menu. When autosave is activated, TerraModels will
automatically save the project following each newly created or deleted object.
When creating objects in TerraModels, you will frequently see a button labeled “Change Object Placement Properties”. This feature was added in Version 2.1.
If you have used the Fly2 Editor before, then you have seen these settings in the Fly2 “Object Properties” window.
The TerraModels “Object Placement Properties” window assigns various properties to a newly created or existing object. An example would be whether an object auto-snaps to the ground, or floats in the air at it’s specified height.
You do not have to change the scenery placement properties. TerraModels will assign default values to newly created and positioned objects.
To change properties for an existing object, you can select the ‘2D’ button from the toolbar. Then, select “Change Scenery Placement Properties” from the “Object Information” window.).
Each property setting will now be discussed briefly:

If this box is checked, every object will be “snapped” to the ground automatically. If the box is not checked, then the object will float at its specified height (this height is built into the object, and not configurable).
This is a very important feature. If this box is checked, then the object will automatically hide itself when the user is more than about 2 miles away. This is very useful for models such as trees, fences, or other finely detailed models. And it will help with frame rates in most cases.
The 2 mile setting is by default, and can be changed. You will find the actual setting in your FLY.INI file (distanceHidingRadius keyword). Personally, I like to set mine at 8 to 10 miles.
This box is checked for airport control towers, and will allow the tower cam to be activated from the tower location. If you create your own custom tower, you will want to set this property. TerraModels automatically sets this value for control towers created with TerraModels.
In hilly terrain, you might want to create a taller object, and sink it in the ground. This property will do this for you.
This was a new feature added in Fly2 Patch 230 to help eliminate some of the unappealing ‘transparency issues’. If you check this feature, it may improve the object visuals. But, it may affect overall performance slightly, due to the sorting algorithm that must be applied.
You should only really consider this option for transparent objects like trees, which most often are effected by this anomaly. NEVER CHECK THIS BOX FOR NON-TRANSPARENT OBJECTS.
If disabled, you can fly thru objects. If enabled, you will crash into them.
This is a new feature added with Fly2 patch 230. It will allow flat terrain objects to be
displayed, without using a Z-Buffer.
This will eliminate the unsightly ‘flashing’ or ‘interlacing’ effect
normally seen with ground objects. This
is a must setting for flat objects.
There are two different ‘No Z-Buffer’ settings. One will position the object above the runways and taxiways. The other will position the object below the runways and taxiways (reserved for future Fly2 update).
Will display the object name when pointed to during flight.
Will draw a shadow associated with an object. Decreases frame rates.
TerraModels V2.x contains an integrated scenery packager. This makes it extremely easy for you to make your scenery available to others.
The scenery packager can:
· Create a description file for Avsim (to share your scenery)
· Create Fly2 scenery POD and SCF files.
· ZIP the scenery (into a *.ZIP file).
· Cleanup any of the project source files.
All in one-step. This is too easy.
When your scenery is complete and tested, select ‘Package Scenery’ from the ‘File’ menu.

You now have 4 options:
· Package Scenery For Uploading
· Create POD and SCF Files Only
· Create POD Response File Only
· Create SCF File Only
If you select “Package Scenery For Uploading”, then TM will create all the necessary scenery files and compress them into a ZIP file.
A project description file is required by Avsim. It is uploaded with each ZIP file (containing the compressed files). TM will create file for you by filling out the following form:

To use this form, enter:
· the scenery title (i.e. Ardmore Municipal Airport, Ardmore OK USA).
· Your name (i.e. Allen Kriesman)
· Your email address (required by Avsim).
When you are done, press ‘generate description’ This will generate a description for you, using the information in the title. The description is displayed to the users that wish to download your scenery from Avsim. You can add to this description as you like, before pressing ‘Done’
The scenery packager will write the scenery to the local PACKAGE folder, which is in the TM22 folder. A sub-folder will be created within PACKAGE. The subolder name will be the 3-character scenery ID (i.e. DFW for Dallas-Ft Worth).
If you want to upload your scenery, you will upload the *.ZIP file and the *.TXT files, from the subfolder, to Avsim.
The other scenery packaging options:
· Create POD and SCF files only.
· Create POD response file only.
· Create SCF file only
will be self-explanatory for advanced users. The POD and SCF files will be stored in the TM22\PACKAGE folder under the scenery ID. The POD response file will be a *.TXT file created in the directory containing the FLY2.EXE. The TXT file will be named using the 3-character scenery ID (i.e DFW.TXT)
When you are done with your project, you can cleanup by selecting the ‘Delete Source Files’ box in the ‘Scenery Package’ window.
This will delete all project source files during the packaging step. Don’t worry, all your source is now already compressed into the POD file.
The deletion only takes place if there are no errors during the scenery packaging phase.
I have tried to make it very easy to package your scenery, with hopes that many of you will share your work with others. The Fly! Community on Avsim (www.avsim.com) is probably the largest online Fly! Community in the world.
Many people are critical of their own work. Just remember that anything is better than nothing, which is what you get with most airports in Fly! (this is an understandable shortcoming).
Also, the Fly! Community on Avsim is generally a very friendly and helpful bunch.
To upload your file to Avsim, go to the website below:
http://205.252.89.41/other/upload.html
You will only need to upload your
scenery description file (*.TXT) and your zipped POD /SCF files (*.ZIP). For example, the files for Dallas-Ft Worth
would be labeled TMDFW.TXT and TMDFW.ZIP.
Terramodels always puts a leading TM in the filename, to avoid naming
conflicts with other sceneries.

![]()
Create a new project
![]()
![]()
Save the current
project (also use disk icon)
Closes the current
project
Packages the
project scenery for release. See
Chapter 4.
Diffuse lighting affects how brightly an object is displayed in Fly II. Each object model in Fly II (*.SMF) has a diffuse lighting constant defined for it. Terramodels uses a default value for new objects, which can be changed from the “Preferences” window in the “Edit” menu.
If you have already created objects, and want to change the
brightness, you can use this “Change Diffuse Lighting Constant For All
Models”. This option will only affect
objects that have been created by TM.
It will not change the diffuse lighting settings for static modes (i.e.
models in POD files).
“Edit” Menu

Allows you to
change various default values:

This allows you to correct the DISPLAY of taxiways in TM, if they are not aligned properly with the runways. Most airports do not seem to have this problem in TM. In others, the taxiways are misaligned quite a bit.
See Appendix E for examples of misaligned runways, and how to fix them in TM.

This
mode is reserved for future use with Fly II releases after build 230. When TM 2.2 detects a supported release, it
will unlock this menu selection.
This mode is useful when creating ground polygons between taxiways/runways. It will help greatly with the alignment process.
When in “Select Nearest Vertex” mode, TM will display the taxiway vertices. When you click the background image to position a point for a ground polygon, TM will instead move the point to the nearest taxiway vertice.
This mode is only useful when creating ground polygons.
In this mode, you do not have to double-click within an object’s boundaries to select it. Instead, TM will select the nearest object. This mode is very useful for selecting smaller objects like taxiway signs.

![]()
Opens the Display Tool window
Used only in Non-USGS project mode. Toggles the display of the background image off and on.

![]()
Creates a new custom building of type: office, cargo, hangar, terminal, or maintenance.
![]()
Creates a new custom storage tank or control tower.
![]()
Creates a new custom airport sign.
![]()
Create a new grove of trees.
![]()
Create a parking lot
![]()
Create a subdivision
![]()
Create a ground marking.
![]()
Create a border object..
![]()
![]()
Select and place a pre-existing stock object.
Select the next available object (based on the object creation time).
Select the previous
available object (based on the object creation time).
This operation will allow you to select another objects, from the list
of all objects. A description of each
object is given.
![]()
This is a very important feature.
For efficient airport design, make copies of existing objects, rather
than make a new object using identical characteristics.
The new object will be displayed in Red. It will be positioned just slightly downward and to the right of
the current object.
You should the move the object to the appropriate position using the
next command.
![]()
Use this feature to move or rotate the current selected object. It is especially used after copying an
object.
Remember, the white line extruding from the object indicates the object
orientation. It also indicates the
front of the object.
![]()
Toggles the viewing of the 2D representation of the current object (if
available).
![]()
This command will delete the current object. You will be prompted as to whether you want to delete only a
reference to the selected object (from the Fly II scenery file), or delete both
the reference and the physical model.
You should save the scenery after issuing this command. Failure to do so might result in missing scenery objects when you are running Fly II. This will occur when the SMF file is removed from the disk, but the scenery files still reference the deleted object.

Displays a window showing information about the current airport.
Displays detailed information about the current image set.
Displays a window showing information about the project.
This selection toggles the display of the “Selected Object Statistics” window on and off. The “Selected Object Statistics” window shows information about the current selected object.
TerraModels displays all objects based on their width and depth dimensions. Some objects, such as airport signs, might be too small to be displayed on the display. This toggle will increase the size of these small objects, allowing them to show up on the display.
Toggles the display of Fly2 runways on and off.
Toggles the display of Fly2 taxiways on and off.
Toggles the display of tree objects on and off.
Toggles the display of building objects on and off.
Toggles the display of airport signs on and off
Ideally, it would be great if flight simulators had crisp photo quality textures, and lots of 3D models. However, this is not possible in today’s world without suffering some kinds of performance drawbacks.
Every object created in TerraModels has been optimized to be as frame-rate friendly as possible, without sacrificing too much quality. There are trade-offs that have to be made.
Fortunately, TRI has provided scenery designers with many features that allow the optimal use of 3D models. Every object created by TerraModels takes advantage of these features where possible.
For example, every object in TerraModels contains both high and low poly versions of the same model. From a distance, low polygon versions of an object are used. As you approach the object, the high polygon version is displayed. Higher polygon counts mean higher detail, but lower-frame rates.
Also, TerraModels is very careful in it’s use of round surfaces. Round surfaces are frame rate killers. A simple tube can contain many times the number of polygons of say….a rectangle.
As a scenery designer, there are many things you can do to optimize your scenery.
This was discussed previously
Always include low-poly versions of models that are numerous, or contain a high number of polygons.
Be careful with the
number of unique textures used.
When an object model is displayed in the Fly2 environment, the entire texture is loaded into Video RAM (on the video card). Each 256x256 pixel texture takes up 131k bytes. Each 128x128 pixel texture takes up 32k bytes.
If you have a 32mb video card, then only 244 - 256x256
textures can be loaded at once (32mb / 131kb). Since there is some overhead involved, you actually get less
than the full 32mb available to you.
What happens when video RAM is full ? Well, the application begins swapping textures in and out of video RAM. This will have a dramatic effect on frame rates.
There are several things you can do to prevent this.
Use Fly2’s “Distance hiding”
For each high-polygon count object, you should enable/distable distance hiding. If distance hiding is enabled, then the object will disappear when the user’s point-of-view becomes a certain distance from the object. The object will re-appear when the point-of-view comes within a certain distance of the object.
The exact distance
is defined by the “DistanceHidingRadius” keyword in the FLY2\SYSTEM\FLY.INI
file.
You can enable/disable distance hiding for each object, by setting the “Scenery Placement Properties”. See Chapter 4 for more information on this feature.
USGS images (USA only) are available on the internet from Microsoft’s Terraserver.
While Terraserver provides these images in small pieces, Terramodels can piece these images together, making one large image that can be used as a TerraModels background.
During the new project creation process, you will see the following window.

If you select ‘Yes’, the TM21 application will call TSGRAB to get the image. The TSGRAB interface is shown below:

At this point, you can go with the default settings. Or, you can change them. There are 3 configurable sections:
This is the height and width of the individual pieces that are downloaded from Terraserver. The maximum size per image is now 400x400 pixels.. If you are having download problems, try reducing the size to 200x200. Reducing the size will not affect the overall image size. But, it will require more pieces to be downloaded in smaller chunks.
By default, the resolution of the images is 2 meters per pixel. As you can see from the previous image, a 1600x1600 image, at 2 meters per pixel, will give you a total display of almost 2 miles by 2 miles (actually 1.99).
2 Meters per pixel will allow you to zoom in quite a bit, before the image begins to distort. It will also give you a fairly wide coverage area.
If you drop down to 1 meter per pixel, then you will only get ¼ the total coverage area of 2 meters per pixel. However, You will be able to zoom in more, before the image begins to distort. To compensate for the reduced coverage, you would have to increase your image size to 6400 x 6400. However, it is very possible that your system cannot handle this large image size.
4 Meters per pixel will give you a wide coverage area, but will distort as you begin to zoom in.
The image size is the total number of pixels in the final image (width and height). While the largest possible image might seem the best, some systems might not be able to handle it efficiently.
Tests have show a wide variety of differences among computers. Performance factors might be: amount of system RAM, video Card performance, and the version of the OS.
Just because you have 256mb of RAM, does not mean you can create a 6400 x 6400 image, or even a 3200 x 3200 image. There are other factors involved, which may reduce the available RAM.
One last thing regarding image size….TSGRAB has to acquire an extra layer of tiles around the image. This must be done to crop the image, so that the scenery coordinates are centered in the image.
Most systems should be able to adequately handle image sizes of 2400 x 2400 or 3600 x 3600.
The optimal settings will be different for everybody, depending on your computer hardware. It is best to play around and see what works. Stick with the defaults at first.
The images created by TSGRAB are geo-referenced. This means the image coordinates are stored with the image. Since the image is geo-referenced, Terramodels can usually align the images with the Fly2 runways and taxiways for you. This means little or no alignment tasks are needed on your part from within TerraModels.
Yep! This is one of the reasons I broke the code out.
TSGRAB retrieves the output filename and coordinates from the SOFTLANG.INI file in the TM21 directory.
You can change the “[TSGrab]’ section in SOFTLANG.INI manually if you would like. Samples are listed below:.
[TSGrab]
SceneryID=ADM.BMP
Lat=34.3032056
Long=-97.0195222
After you make the changes, just run TSGRAB from the command line.
TerraModels
provides a way of quickly and easily, modifying the actual Fly 2 runway
coordinates. However, if you are
planning on releasing your TerraModels generated scenery to the public, there
is something you must consider.
Since you will be
creating your scenery, based on the new runway positions, you will need to
provide a way of allowing the users to update their RUNWAY.POD files. The RUNWAY.POD file contains the Fly2
database that with all the runway definitions.
Fortunately, this
is pretty easy task using the supplied RWYFIX.EXE program, which will be
discussed shortly.
When would you want
to adjust the Fly2 runway coordinates?
Probably, only if the runways are way out position. There are very few of these cases for the
U.S.
This is a very easy
process. First, you will select a
runway. Then, you will select two
points on the background. These two
points will define the new ends of the runway.
You will see the effect of the changes immediately. The changes will be written to a xxx.FIX
file in the TM21\DATABASE directory (where xxx is the 3-character scenery ID).
At this point, you
have not yet modified the Fly2 RUNWAY.POD database. The actual modifications are performed by the RWYFIX application.
After the RWYFIX
program has modified the RUNWAY.POD database, you can continue on with
TerraModels.
The RWYFIX program
is a utility provided with TerraModels.
It will read the xxx.FIX files for a scenery area created by
TerraModels, and apply the changes to the Fly2 RUNWAY.POD database.
Using RWYFIX:
That’s it.
If you are
releasing your scenery to the public, then the users will need the RWYFIX
program to apply the runway patches to their own copy of the RUNWAY.POD
database.
You will need to
include the xxx.FIX file with your released airport scenery. The users will then need to apply the
xxx.FIX patches by downloading the RWYFIX utility from Avsim (or from www.avsim.com/TerraModels).
Make sure you
document the above in your scenery README.TXT file.
Here is the
complete sequence of steps for making changes to the Fly2 Runway coordinates
using TerraModels:
Problem: The background image is black and
distorted.
Solution: You have memory allocation issues that are
preventing the image from displaying properly.
You may have to download a smaller image using TSGRAB.
Problem: Arrows do not show up in the taxiway sign
generator. Instead, I get funny bracket
characters.
Solution: The TM2.TTF font is not properly installed.
Problem: In some of my windows, the graphics do not
look positioned correctly.
Solution: TerraModels prefers windows to be run
using “Small Fonts”, which is the standard setting. The Large font setting will work, but may give strange results.
Problem: Machine locks up during USGS image
downloads
Solution: Terraserver is probably down. Kill the program and try again later.
Problem: When I
try to fly in my newly generated scenery area, I get “object not found” errors.
Solution:
Perhaps you removed the object file (SMF) from the disk, but the
reference is still in the data files (DATA\Dxxxxxx).
Problem: I want
to place some “Stock TerraModels Objects”, but do not see any in the list.
Solution: The
TM.MLF file is not present in the TM2 directory.
Problem: I want
to place some “Stock Fly2 Objects”, but do not see any in the list.
Solution: The
FACTORY.MLF file is not present in the Fly2\DATA directory.
Problem: Some of my objects are too small to select.
Solution: Try
selecting the object using the “Select Object From List” feature.
Problem: Objects that I positioned using the Fly2
Editor, do not show up in Terramodels.
Solution:
True J
Problem: Some of
my objects are not selectable. They are
just white lines.
Solution:
This could be one of several things.
1. The object dimensions could not be computed
because the Terramodels Texture Pack could not be located.
2. The object dimensions could not be computed
because the path to the Fly2 software is incorrect.
3. The object has been deleted from the
FLY2\MODELS folder.
4. The object is too small, and the “Enhance
Small Objects” option is not checked in the “Objects” menu.
Fly2 scenery files are placed in a directory/folder, which uses the format “FLY2\DATA\Dxxxxxx” ( where “xxxxxx” consists of a six digit value representing a Fly2 global tile boundary).
Within each Dxxxxx folder, can be a number of files with a “Sxx” extension (where “xx” spcifies the Fly2 quarter tile containing the scenery). Legal quarter tile values are: 00, 01, 10, and 11.
Normally, Fly2 names it’s scenery files using the format: SCENERYx.Sxx.
TerraModels scenery files have their own format:
TM_aaa_t.Sxx
Where:
¨ aaa is a 3-letter scenery identifier (constructed from the airport ID)
¨ t is a single character representing the types of objects contained within.
¨ xx is a quarter tile value (00, 01, 10, 11).
The single character value, represented by ‘t’ above, can be:
¨ T for tree objects
¨ F for stock Fly2 objects
¨ L for parking lots and roads
¨ B for buildings
¨ W for Tower/Tank objects
¨ M for stock terramodels objects
¨ D for subdivision objects
¨ U for stock user objects
¨ I for border objects (fences)
Here is a sample
listing for the path “FLY2\DATA\D168156”:
09/13/2001 05:34p 3,462 TM_LVK_F.S01
09/13/2001 05:34p 5,889 TM_LVK_L.S01
09/13/2001 05:34p 25,736 TM_LVK_R.S01
09/13/2001 05:34p 20,222 TM_LVK_B.S01
09/13/2001 05:34p 916 TM_LVK_W.S01
09/13/2001 05:34p 9,186 TM_LVK_T.S01
09/13/2001 05:34p 725 TM_LVK_M.S01
09/13/2001 05:37p 1,797 TM_LVK_D.S01
09/10/2001 04:26p 42,824 TM_SJC_B.S01
09/10/2001 04:26p 916 TM_SJC_W.S01
09/10/2001 04:26p 2,033 TM_SJC_T.S01
09/10/2001 04:26p 10,469 TM_SJC_M.S01
09/10/2001 04:26p 1,384 TM_SJC_U.S01
09/10/2001 04:26p 5,054 TM_SJC_L.S01
The listing above contains two airport sceneries (LVK and SJC). Both sceneries occupy the same quarter tile (01) and the same global tile (1681560).
For some unknown reason, some of the taxiways in TM are not correctly aligned with the runways. This can cause slight problems when positioning objects, especially taxiway signs.
Here is a good example of an airport with misaligned
taxiways (KHOU).

As you can see from this example, the taxiways are not
correctly aligned with the runways.
They appear to be too far to the left, and too far north.
If you position your taxiway signs based on the taxiway
positions, they will not be positioned correctly when starting Fly II.
To align the taxiways better, you should select “Adjust Taxiway Positioning” from the “Edit” menu. You will then see the following window:

You can now change the X/Y scaling, or shift the taxiways left/right or up/down. For most cases, specifing the number of feet to shift the image will work just fine (leave the scaling at 1.0).
Enter positive values, in feet, to shift the image right and downwards. Enter negative values to shift left and upwards.
After you change the values, press the “Set” button to view the effect.
In the KHOU example above, we entered the following values to fix the alignment problem:

As you can see, the taxiways are now aligned quite nicely….

The changes are permanent in TM, so that you can exit TM and come back to the corrected settings.
These changes only
effect the viewing of the taxiways in TM.
They will not affect the Fly II display behavior at all !
Appendix E:
Acknowledgements
At
the time of this writing, I would like to thank the following people for their
contributions to the TM 2.x project.
Technical
Assistance:
Inspiration:
Thanks
to all those people that have assisted with beta testing.
Also,
thanks also to all the fine people at Avsim.com for hosting the Terramodels
web-site.
For current information regarding the
TerraModels project, please visit: