User Tools

Site Tools


arma:flight_model

ArmA Flight Model

ArmA Flight Model

If you aircraft or helo is bitch to fly, what to do? Well you edit Geometry LOD and its mass.

Flight model in ArmA is defined by the model's Geometry LOD mass distribution. BIS uses very small if not 0 mass on the generic geometry and then 4 “blocks” which holds the normal weight of the aircraft. These blocks are placed in front, sides and rear of the aircraft, this then decides where the center of gravity (CofG) is placed.

Each different Geometry LOD model will have different handling derived form its size and distribution of mass on the vertices.

Tips:

  1. Spread the mass out along the spine of the airframe. This will help pitch rate. closer to the CofG and the helo will pitch faster.
  2. The higher the CofG the less lightly the aircraft is to roll when using the rudder.
  3. Make sure the mass distribution is symmetrical about the longitudinal axis. Add more mass on one side will severely affect handling.
  4. A Helicopters top speed and acceleration is governed by mass. More mass the faster it goes.

The envelope command controls the lift vs speed allowing you to define stall speed etc.

Another direct quote from a Suma:

The speeds are determined by the envelope array and maxSpeed. The entries stallSpeed and landingSpeed are then used to indicate the speeds for AI and autopilot, so that it knows how to fly the airplane. The envelope is defined like this:

/// lift (G) based on speed
envelope[]=
{
	// speed relative to max. speed -> lift
	// 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4  // rel. speed
	0.0,0.2,0.9,2.1,2.5,3.3,3.5,3.2,2.5,2.0,1.5,1.0,0.9,0.7,0.5 // lift
};

It's used to define the lift relative to speed. So if you set the max speed as 1000kph The first value will the lift ratio at 0kph, the second 100kph, third, 200kph and so on.

If you were to set the max speed at 500kph the 1st value would be light at 0kph, 2nd value = 50kph and so on.

Changing the values = lift generated by the 'plane' NOTE the envelope= command has no noticeable effect on helicopter class aircraft.

Going back to the maxspeed = 1000kph example:

envelope[]=
{
	// speed relative to max. speed -> lift
	// 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4  // rel. speed
	0.0,0.2,0.9,2.1,2.5,3.3,3.5,3.2,2.5,2.0,1.5,1.0,0.9,0.7,0.5 // lift
};

You get 0.2 lift at 100kph You get 0.9 lift at 200kph etc

If you change the 2nd value to '5' your plane will leap off the runway at 100kph. As long as you use a progressive curve for the values you should have a very smooth take off and landing.

If you wanted a higher take off speed and stall figure you would reduce the first few values then start adding higher values around the speed you want the plane to start lifting off.

Notes

Much of this information is gathered and pasted from various sources including BIS forums etc.

arma/flight_model.txt · Last modified: 2009-03-03 16:23 (external edit)