Targetware: 3D Dev Guide


Reference: Animation Links

Each path contains a Link Number. The link number is used by the physics engine to determine what events an animation path responds to. Most link numbers specify an event that is specific to a flight model part, in which case the Name of the object or child must be the same as the flight model part in question (but more than one object or child can be named the same thing, and they will all respond to animations effecting that flight model part).

All the 1xx series link numbers (100 through 120 currently) are "global" link numbers. This means that every object in a .anm file that has an animation path linked to that number will animate when it changes.

All other link numbers are "local" link numbers. this means that only objects in a .anm file with the same exact name as a part in the .acm file will animate, and only when that specific part changes.

For example, an altimeter (link 111) will animate based on the altitude of the plane, no matter what the name of the object in the .anm file is. By contrast, a tachometer (link 202) will animate based on the RPM's of the engine whose name in the .acm file matches the name of the part containing the tachometer link in the .anm file.

Base Links

0 Flight Model. This is the basic animation path for a flight model object, like gear extending, a prop rotating, an aileron moving, etc.
1 Damage Model. This links the animation to the damage model. 0 will be no damage, 1.0 is 100% damage.
2 Alternate. This is used only by the flex guns currently, and corresponds to vertical aspect of flex gun animation. Time 0.0 is full down deflection, time 0.5 is no elevation deflection (ie, the mounting angle), and time 1.0 is full up deflection.
3 Death Animation. This link controls an objects "death animation", triggered when the object is destroyed. The length of animation is controlled via the "destroy_anim_time = x" line in the object's .acm file. 0.0 is the start of the death animation, 1.0 is the end of the death animation. The death anim time defaults to 0 in the .acm file, so it is not needed until a death animation has been prepared.
4 Bailout Animation. When the bailout process begins, the animation starts at time 0.0. When the bailout process ends (i.e. the crew is out of the plane), the animation ends at time 1.0. This only covers the time between when the pilot starts to bail/eject, and the time he actually leaves the plane. It does not cover external views of pilots parachuting, or anything like that.
5 Fire. This is either 1 (on fire) or 0 (not on fire). Jets, props, and all tank types (fuel, nitro, boost, drop) respond to this. NOTE: Do NOT do the actual leak particle systems with this, leave that to the particle system links in the .acm file.
6 Leak. This is either 1 (leaking) or 0 (not leaking). Props (coolant leaks for liquid cooled engines), and all tank types (fuel, nitro, boost, drop) respond to this. NOTE: Do NOT do the actual fire particle systems with this, leave that to the particle system links in the .acm file.
7 Ground Contact. Valid for all airplane parts. If part is in contact with ground, 1.0, if not in contact with ground, 0.0.

Global Links

100 Roll. Paths with this link number will be animated based on the aircraft's roll input axis (i.e. left-right movement on the pilots joystick, usually).
101 Pitch. Paths with this link number will be animated based on the aircraft's pitch input axis (i.e. front-back movement on the pilots joystick, usually).
102 Yaw.Paths with this link number will be animated based on the aircraft's yaw input axis (i.e. movement of the pilots rudder pedals, usually).
103 Bank. The actual current bank of the aircraft. 0 is 0 degrees, 1 is 360 degrees, so 0.5 is inverted, 0.25 is a 90 degree right bank, etc.
104 Attitude. The actual current attitude (pitch) of the aircraft. 0 is 90 degrees down, 0.5 is 0 pitch, 1.0 is 90 degrees straight up.
105 Heading. The actual current heading of the aircraft. 0 is 0 degrees, 0.25 is 90, 0.5 is 180, 0.75 is 270, 1.0 is 360.
106 Angle of Attack. 0 is -45 degrees, 0.5 is 0 degrees, 1.0 is 45 degrees. values outside of -45 to 45 are clamped to -45 to 45.
107 Slip. 0 is -45 degrees, 0.5 is 0 degrees, 1.0 is 45 degrees. values outside of -45 to 45 are clamped to -45 to 45. Suitable for gyroscopic instruments that show slip.
108 IAS. 0 is 0, 1.0 is 10000 kph. Anything above 10000 kph reads as 10000 kph.
109 TAS. 0 is 0, 1.0 is 10000 kph. Anything above 10000 kph reads as 10000 kph.
110 Mach. 0 is 0, 1.0 is mach 10. Anything above mach 10 reads as mach 10.
111 Altitude (MSL). 0 is 0, 1.0 is 100,000 meters. Anything above 100,000 meters reads as 100,000 meters.
112 Altitude (AGL). 0 is 0, 1.0 is 100,000 meters. Anything above 100,000 meters reads as 100,000 meters.
113 Climb Rate. 0 is -1000 meters/second, 0.5 is 0 meters/second, 1.0 is 1000 meters/second. anything outside that range reads as -1000 or 1000.
114 G Meter. 0 is -10 g's, 0.5 is 0 g's, 1.0 is +10 g's. Anything outside that range reads as -10 or 10.
115 Pilot Strength. Time 0.0 is full strength, time 1.0 is the weakest possible.
116 Turn Rate. Measures the rate of change of heading. Ranges from -20 degrees/sec at time 0.0 to +20 degrees/sec at time 1.0.
117 Radio Compass. A radio compass will point towards the selected navigational beacon. 0 is 0 degrees, 0.25 is 90, 0.5 is 180, 0.75 is 270, 1.0 is 360. The only available nav beacon currently is the unit's home base.
118 Min Gs. Records the lowest Gs experienced during the current sortie. 0 is -10 g's, 0.5 is 0 g's, 1.0 is +10 g's.
119 Max Gs. Records the highest Gs experienced during the current sortie. 0 is -10 g's, 0.5 is 0 g's, 1.0 is +10 g's.
120 Ball Spirit Level. Shows ball spirit level. 0 is -45 degrees, 0.5 is 0 degrees, 1.0 is 45 degrees. values outside of -45 to 45 are clamped to -45 to 45. Suitable for use in most turn and bank type instruments.

Local Links

200 Throttle. This animation is linked to the current throttle state of a specific flight model part. rather than directly reflecting the pilot's throttle, it reflects the actual current throttle of a specific engine. this could be used for a cockpit lever, or maybe for a jet flame.
201 Boost. This animation is linked to the current boost state of a specific flight model part. for jets, this is the afterburner, for props its the boost setting. This is a 0 or 1 animation, you will never get a value in between. This could be used for a cockpit indicator, or maybe for an afterburner plume.
202 RPM. The current rpms of a specific flight model part, divided by 10000. As of .45, this is no longer relative to the max RPM of the engine, it gives actual RPMs, directly. this could be used to change the prop model from a bladed prop to a prop disc at a certain fraction of rpms, for example, as well as for a cockpit lever.
203 Mixture. This animation is linked to the current mixture setting of a specific flight model part. this ranges from 0 (shutoff) to 0.5 (lean) to 1 (full rich). This could be used for a cockpit lever.
204 Prop Pitch. This animation is linked to the current prop pitch of a specific flight model part. this ranges from 0 (minimum pitch) to 1 (maximum pitch).
205 Nitro. Like boost, but for the nitro state of a part.
206 ADI. Like boost, but for the anti-detonant injection state.
207 Blower. Like boost, but for the blower state. 0 for lowest, 1 for highest, intermediate values in between for planes with more than 2 stages.
208 Heat. This reflects the heat level of a specific flight model part. 0 for 0 deg C, up to 1 for 520 deg C.
209 Manifold Pressure. 0 for 0 atm, up to 1 for 5 atm.
210 Jet Nozzle Temperature. This is the temperature of the exhaust at the nozzle, post-afterburner. 0 is 0 degrees, 1.0 is 2000 degrees.
211 Engine Started Y/N. Will be 1 if the engine has been started, and 0 if it has not been started.
212 Cooling Flaps. The status of the engine's cooling flaps. 0 to 1, 0 being all the way closed, 1 being fully opened.
300 Selected. 0 means no, 1 means yes. this is valid for fuel, nitrous, and ADI tanks, and guns.
301 Capacity. 0 means empty, 0.5 is half, 1 is full. this is valid for fuel, nitrous, and ADI tanks, and guns (ammo counter).
302 Firing. 0 for no, 1 for yes. valid for guns.
303 Rocket Thrust. 0 for pre-launch, 0.5 for launched and burning, 1.0 for post-burn. Valid for rockets and parabombs. For parabombs, ordnance .acm must also specify thrust = x and retarder = x; 0.5 will be launched, but retarder not activated, 1.0 will be launched and retarder activated.
304 Muzzle Blast. For weapon muzzle blasts, linked to the blast_time specified in the gun part. Is 1.0 at the moment of firing, down to 0.0 at the end of the blast time.
305 Fuel Group Capacity. Works only for fuel tanks. When linked to a specific fuel tank, it animates based on teh percentage capacity of the tank's entire group. 0.0 is empty, 1.0 is full.
400 Brakes. 0 for none, 1.0 for full. Right now, there's no way to get partial brakes, but eventually it will be coded so brakes can be set to an axis rather than a toggle key in input.txt.
401 Wheel Direction. 0 is full left, 1 is full right. This is tied to the max_steer_angle in the flight model.
402 Gear Compression. Gives the distance the gear is compressed: 0.0 for no compression, up to 1.0 for 10 meters of compression. Most gear will operate in the 0.0 to 0.05 (50 cm compression) range. Only valid for landing gear.
403 Wheel Rotation. Goes from 0.0 to 1.0 during the course of each full rotation. Gear only rotates while it's actually in contact with the ground. .ACM file must specify a wheel radius for the gear in order for this animation link to work.