This is an old revision of the document!
After completing the aircraft tutorial we will now take a closer look at the aircraft development process. This section gives a brief overview of how Aerofly FS 2 simulates an aircraft, the units and coordinates systems and the different file types that are used by Aerofly FS 2 and the Aircraft Converter.
Aerofly FS 2 uses an object-based approach to simulate an aircraft for maximum flexibility. This means that each aircraft is defined in terms of many objects (also called (function) blocks or elements in commercial general purpose simulation packages), instead of a fixed set of variables that every aircraft must use. In addition to very general objects that can be used for any type of simulation, there are many objects specialized for flight simulation like aerodynamics forces, engines and propellers, avionics objects and many more. The designer of the aircraft is free to add any number of objects and connections to an aircraft by adding it to the dynamics section of the aircraft's .tmd file.
Please refer to the Aircraft Definition page of this document for further information.
Aerofly FS 2 uses the international system of units (SI) exclusively. This means that all lengths and dimensions are meters, masses are in kilograms, forces are in Newtons, power values are in Watts, speeds are in meters per second. Any rotation uses the positive mathematical direction (anti-clockwise), and all angles are measured in radians (1 rad = 180/p degrees = 57.3°). Fractions are used instead of percentages (20% would be written as 0.2).
The coordinate system the entire aircraft is defined in the 3D model of the aircraft. The origin is usually placed close to the center of gravity but does not have to be. The forward flight direction defines the x-axis of the aircraft's coordinate system. The y-axis points towards the left of the aircraft, the z-axis points straight up. One unit in the coordinate system represents a real world length of one meter. The 3D model may use a scale factor which is removed when the aircraft is exported.
All individual aircraft are located in a folder called
aircraft which is located either in the installation folder of the Aerofly FS 2 for all default aircraft or in the user folder for all custom made aircraft. Inside that
aircraft folder there are individual sub-folders for each aircraft. These sub-folders, (e.g.
aircraft\a320) contain all the files needed for an aircraft. They can be divided into two groups: the 3D model and the aircraft definition.
An aircraft in Aerofly FS 2 is defined by the files contained in one folder. The folder's name is the internal aircraft name. In the following, we will use xxxx for this internal name. There are no sub-folders except for the repaints. Aerofly FS 2 and the Aircraft Converter use the following files:
|Intermediate folder||Aerofly FS 2 aircraft folder||Description|
|xxxx.tgi||Binary 3D model file created by the export plugins for 3D Studio Max or Cinema 4D.|
|xxxx.tmb||Binary 3D model that contains information like the vertex positions, texture coordinates, and material/texture assignments. Generated by the converter from the .tgi file.|
|xxxx.tmc||xxxx.tmc||Description file of the aircraft that contains the text shown in the aircraft menu together with the preview image. Also contains parameters to change the initialization of the aircraft: the orientation how the aircraft is placed on the runway, the maximum and minimum airspeed, landing speed and maximum altitude.|
|xxxx.tmd||xxxx.tmd||Defines camera positions, the complete physics definition of the aircraft including engine and aerodynamic parameters, logic circuits, electrical systems, fuel systems and so on, as well as the graphics animation and sound definition.|
|xxxx_takeoff.tmd xxxx_clean.tmd xxxx_landing.tmd||xxxx_takeoff.tmd xxxx_clean.tmd xxxx_landing.tmd||Used to set certain dynamics parameters that should be different from the standard values in the 'xxxx.tmd' for different aircraft configurations. When placed on the runway the takeoff configuration is set. Landing configuration is set when an approach location is selected, clean configuration otherwise.|
|controls.tmd||Defines positions and sizes where interaction with the mouse or VR controllers is possible.|
|.bmp .tif .png||Source texture files. Must be square power-of-two bitmaps. BMPs 24 bit RGB only. TIF and PNG RGB or RGBA. Bump maps can use 16 / 48 bit to avoid terracing.|
|.ttx||Converted and compressed texture files|
|preview_xxxx.png||Preview file rendered by the converter|
|preview.ttx||Compressed preview texture for aircraft menu|
|repaint.tmr||repaint.tmr||Repaint or livery description file defining the repaint's name in the user interface.|
|.wav||Source sound file. Must be PCM 22050 Hz mono|
|.tsb||Converted sound files that are created from .wav files by the converter tool.|
|model.tmc||Configuration file for aircraft conversion. Used to set non-default values for texture sizes, bump map strength and texture parameters if necessary.|
The '.tgi', '.tmc' and '.tmd' files must have the same name as the folder / must use the aircraft's internal name, in our case 'xxxx.tgi', 'xxxx.tmc' and 'xxxx.tmd'.
The Aircraft Converter that comes with this SDK is the same tool we use to convert aircraft. There are no limitations on objects or functions you can use to create your aircraft.
However, the SDK doesn't support custom display programming yet. While you can re-use all existing displays, there is no way to get your display code into the simulator. This will be addressed in future versions of the SDK.