| Scenery Objects | |
There are two types of objects in Vehicle Simulator scenery, automatic objects
and user defined objects, the automatic objects are objects associated with
ground textures and generated by the program, the user defined objects are
objects placed by the maker of the scenery at specific positions.
Vehicle Simulator includes a powerful yet simple scenery editor which allows
you to edit both types of objects and see the results in 3D, to get started with
scenery objects please read the scenery basics.
The following section explains the details of object design and related
files.
Object Types
Vehicle Simulator has the following object types, for each object there are
different parameters specifying its position size and properties, these parameters
appear inside the different object files as explained in the following sections.
[Smoke] - Smoke object
xpos ypos zpos size red green blue
[Fire] - fire object
xpos ypos zpos size red green blue
[Light] - Light object
xpos ypos zpos range red green blue
[Path] - Path made of light points
xpos ypos zpos angle width length size
[PathRed] - Red path of light points
xpos ypos zpos angle width length size
[PathGreen] - Green path of light points
xpos ypos zpos angle width length size
[PathBlue] - Blue path of light points
xpos ypos zpos angle width length size
[PathWhite] - White path of light points
xpos ypos zpos angle width length size
[PathStrobe] - White path of light points flashing in sequence
xpos ypos zpos angle width length size
[PathVASI] - Path of light points that indicate glide slope
xpos ypos zpos angle width length size
[LightArray] - Rectangular area of light points
xpos ypos size num red green blue
[Blink] - Blinking point of light
xpos ypos zpos size red green blue
[Beam] - Rotating beacon of light
xpos ypos zpos angle scale_x scale_y scale_z
[Decal] - Single light point of any color
xpos ypos zpos size red green blue
[DecalRed] - Red light point
xpos ypos zpos size red green blue
[DecalGreen] - Green light point
xpos ypos zpos size red green blue
[DecalBlue] - Blue light point
xpos ypos zpos size red green blue
[DecalWhite] - White light point
xpos ypos zpos size red green blue
[Thermal] - Thermal object
xpos ypos NA NA r_min r_max v_core
*.def - Bouy or Beacon of light defined file def file
xpos ypos zpos angle scale_x scale_y scale_z
array*.bmp/dds/jpg - Rectangular area of rectangles, flexes in wind.
xpos ypos zpos num width height size
fixed_array*.bmp/dds/jpg - Rectangular area of rectangles.
xpos ypos zpos num width height size
water_array*.bmp/dds/jpg - Rectangular area of rectangles, active in water also.
xpos ypos zpos num width height size
line_array*.bmp/dds/jpg - Line of rectangles of selected bitmap.
xpos ypos zpos angle width length size
decal*.bmp/dds/jpg - Singel rectangle of selected bitmap.
xpos ypos zpos NA width length NA
fixed_decal*.bmp/dds/jpg - Singel rectangle of selected bitmap.
xpos ypos zpos NA width length NA
patch*.bmp/dds/jpg - Flat surface object of selected bitmap.
xpos ypos zpos angle scale_x scale_y scale_z
runway*.bmp/dds/jpg - Flat runway surface object of selected bitmap, with lights at night.
xpos ypos zpos angle scale_x scale_y scale_z
dark_runway*.bmp/dds/jpg - Flat runway surface object of selected bitmap.
xpos ypos zpos angle scale_x scale_y scale_z
road*.bmp/dds/jpg - Flat road surface object of selected bitmap, with lights at night.
xpos ypos zpos angle width length d_angle
dark_road*.bmp/dds/jpg - Flat road surface object of selected bitmap.
xpos ypos zpos angle width length d_angle
track*.bmp/dds/jpg - Elevated track section object of selected bitmap.
xpos ypos zpos angle width length d_angle
group*.x/xx - Group of mesh objects, each object is placed at ground level.
xpos ypos zpos angle scale_x scale_y scale_z
fixed_group*.x/xx - Group of mesh objects, objects are not placed at ground level.
xpos ypos zpos angle scale_x scale_y scale_z
anim*.x/xx - Frame animated mesh object file.
xpos ypos zpos angle scale fps act_dist
wav*.x/xx - sound object file heard around the specified location.
xpos ypos zpos angle act_dist act_dist act_dist
float*.x/xx - Mesh object file that floats.
xpos ypos zpos angle scale_x scale_y scale_z
surface*.x/xx - Flattened mesh surface placed at ground level.
xpos ypos zpos angle scale_x scale_y scale_z
windsock*.x/xx - Mesh object file that alignes with wind.
xpos ypos zpos angle scale_x scale_y scale_z
windvane*.x/xx - Mesh object file that alignes with wind.
xpos ypos zpos angle scale_x scale_y scale_z
spin*.x/xx - Mesh object file that spins along z axis.
xpos ypos zpos angle scale_x scale_y scale_z
night*.x/xx - Mesh object file remains lit at night.
xpos ypos zpos angle scale_x scale_y scale_z
*.x/xx - Mesh object file.
xpos ypos zpos angle scale_x scale_y scale_z
*_n.x/xx - Mesh object file remains lit at night.
xpos ypos zpos angle scale_x scale_y scale_z
|
Automatic Objects
For every scenery texture you can define a set of objects which will be shown
on specific positions on this texture, this allows for a scenery with realistic
object and ground texture matching.
The automatic objects are defined in relation to the texture they are
defined for, for example for a texture file called txt000.jpg there exists an
object file called txt000.txt, these files can be found inside the common
directory or scenery directory itself.
A typical structure of such file can be seen in the following sample:
// User objects saved in tile units at txt000.jpg
// Original tile size = 987.492
buildrw2.x 0.564417 0.258602 0.000000 0.000000 1.158277 1.158277 1.158277
buildrw2.x 0.187126 0.286726 0.000000 0.000000 1.158277 1.158277 1.158277
buildrw2.x 0.035967 0.594349 0.000000 0.000000 1.158277 1.158277 1.158277
array5.dds 0.321617 0.928057 0.000000 45.000000 4.000000 7.899998 25.000000
array5.dds 0.323381 0.974754 0.000000 45.000000 2.800002 10.000000 25.000000
buildrw2.x 0.033300 0.259048 0.000000 0.000000 1.158277 1.158277 1.158277
decal6.bmp 0.042721 0.267025 0.000000 0.000000 6.900000 22.499998 1.000000
decal6.bmp 0.044823 0.257679 0.000000 0.000000 6.900000 22.499998 1.000000
decal6.bmp 0.042650 0.250189 0.000000 0.000000 6.900000 22.499998 1.000000
decal6.bmp 0.170454 0.282139 0.000000 0.000000 6.900000 22.499998 1.000000
decal6.bmp 0.170158 0.290146 0.000000 0.000000 6.900000 22.499998 1.000000
decal_a.bmp 0.576120 0.263700 0.000000 0.000000 7.699999 18.299999 1.000000
decal_a.bmp 0.575392 0.253687 0.000000 0.000000 7.699999 18.299999 1.000000
|
This file was saved by the program, using the function "Save
Tile Objects", it shows the original tile size for this collection of
objects, and the objects themselves with the following parameters:
X position in tile units, Y position in tile units, elevation above ground,
angle, X scale, Y scale, Z scale.
Note: different object types may have slightly different parameter
arrangement, see object types for details.
When the scenery is loaded for the first time the program reads all the
texture object files, and generates the automatic objects file called auto_objects.txt,
this file is a large collection of the objects read for each texture index on
every elevation point.
The auto_objects.txt file can also be edited by the program using the
object editor inside, and saved using the function "save user
objects", the objects saved in it are saved in geographic coordinates
and not in tile units.
The automatic objects are composed from texture objects files in the
arbitrary shapes they appear on land.
User defined objects
The user can add objects in specific locations, these objects are called user
defined objects because they are not generated automatically by the program.
User defined objects can be saved in two types of files, absolute files and
relative files.
The absolute files with prefix "abs_" are collections of
objects in geographic coordinates, this is a typical collection of objects in
absolute position:
// User objects saved in geographic coordinates
array5.dds 7.296118 44.665440 0.002319 134.000000 2.800002 10.000000 74.955864
decal6.bmp 7.327896 44.647198 0.000244 0.000000 6.900000 22.499998 1.000000
array_line_a.bmp 7.285673 44.677162 0.003174 1.583982 17.930002 447.000000 10.000000
array_line_a.bmp 7.285644 44.673199 0.001221 1.563982 17.930002 410.000000 10.000000
array_line_a.bmp 7.286039 44.677212 0.003540 1.583982 17.930002 447.000000 10.000000
array_line_a.bmp 7.285987 44.673241 0.002991 1.563982 17.930002 410.000000 10.000000
pole.x 7.284191 44.677979 0.001343 0.000000 1.639572 1.639572 1.639572
|
The relative files with prefix "rel_" are collections
objects in metric coordinates around an arbitrary position, this is a typical
collection given in relative position:
// User objects saved in meters relative to camera
// Original position = 7.283503 44.677288
array5.dds 993.485413 -1316.471313 0.002319 134.000000 2.800002 10.000000 74.955864
decal6.bmp 3500.684570 -3343.510254 0.000244 0.000000 6.900000 22.499998 1.000000
array_line_a.bmp 171.461975 -13.861938 0.003174 1.583982 17.930002 447.000000 10.000000
array_line_a.bmp 168.004944 -454.276001 0.001221 1.563982 17.930002 410.000000 10.000000
array_line_a.bmp 200.372131 -8.354126 0.003540 1.583982 17.930002 447.000000 10.000000
array_line_a.bmp 195.106506 -449.619751 0.002991 1.563982 17.930002 410.000000 10.000000
pole.x 54.598694 76.848999 0.001343 0.000000 1.639572 1.639572 1.639572
|
These files are placed into the common directory of the program or inside the
scenery directory itself.
The main objects file is called objects.txt, this is an absolute file, it is
the first object file loaded and contains references to the relative and
absolute files
loading them by reference.
This is a sample of the main objects file containing relative and absolute
files and also ordinary objects, as you
can see these files are referenced just as ordinary objects are referenced.
// User objects saved in geographic coordinates
abs1_objects.txt 0 0 0 0 1 1 1
abs2_objects.txt 0 0 0 0 1 1 1
rel1_objects.txt -121.937508 36.515621 0 0 1 1 1
rel2_objects.txt -121.913170 36.534702 0 0 1 1 1
// User objects saved in geographic coordinates
blink_w.def -121.952637 36.521786 0.0 0.0 1.0 1.0 1.0
blink_g.def -121.927132 36.536034 0.0 0.0 1.0 1.0 1.0
blink_r.def -121.927849 36.537647 0.0 0.0 1.0 1.0 1.0
blink_g.def -121.941551 36.520443 0.0 0.0 1.0 1.0 1.0
blink_r.def -121.936310 36.522060 0.0 0.0 1.0 1.0 1.0
|
The prefix of "abs_" is used by the program to load absolute files,
the coordinates of the reference is not used in this case and should be kept as
zero, the "rel_" prefix is used by the program to load relative files,
the coordinates of the reference are used, and the relative file is read in
meters from this reference point.
Tips for scenery design
Make relative files for objects that you wish to use many times, such as
villages and towns, position these files using "Add relative file"
from the scenery editor at every point you want this village to be.
Make absolute files for areas that you make especially to fit a desired
place, for example a special city, airport, or rural area, assemble these areas
using "Add absolute file" from the scenery editor, the positions will
be read from original locations in these files.
Try to make your files re usable as possible, so you can use them on other
sceneries as well.
Try to make accurate tile objects and create automatic objects from them
before populating your scenery with user defined objects, this will save you a
lot of customization and will fill the scenery quickly with interesting objects.
You can select a group of objects by using Shift + Left mouse drag, then save
these objects as absolute or as relative files, and use later when adding
villages or small groups of objects.
Technically, you can use the "Save user objects" and add all the
objects you need to the user objects file, without the need for absolute or
relative file, however this method does not offer objects re use, and each of
changing your scenery later.
|