Multi-Function Display (MFD) config reference – Arma 3

From Bohemia Interactive Community
Revision as of 21:57, 13 January 2017 by KiTooN (talk | contribs) (Created page with "'''MFD''' (Multi-Function Display) is implementation of '''HUD''' (Head-Up Displays) in Arma 3. Display can be fixed on helmet (move with player head) or cockpit (static posit...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

MFD (Multi-Function Display) is implementation of HUD (Head-Up Displays) in Arma 3. Display can be fixed on helmet (move with player head) or cockpit (static position). THIS PAGE IS WORK-IN-PROGRESS, USE AT YOUR OWN RISK.


Technical Basics

HUDs are defined in the MFD class of the source vehicle. The properties of each HUD are separated by a root class (conventionnally named AirplaneHUD in base content), although each new instance will render a new HUD and overlap with the previous. This makes it easier to configure HUDs by modular config (for example, navigation, targeting, etc...). All HUDs are defined through 3 base elements :

  • Bones : invisible elements used to transform/rotate other, similar to anchors/origins. Defined in the Bones class of any HUD.
  • Drawn elements : used to draw graphic elements. Defined in the Draw class of any HUD.
  • Sources : if an element displays complex variables or any bone needs to be in specific positions, it uses a source data. Defined in each instance of bone and draw classes when needed.

Example :

class MFD {
	class AirplaneHUD {
		globalProperty = ...; // global HUD properties
		// bones definitions
		class Bones {
			class BoneInstance {
				type = ...; // type of bone
				source = ...; // source for bone transformation
				properties = ...; // other bone properties
			};
		};
		// HUD-Elements definitions
		class Draw {
			class HUDElemetInstance {
				type = ...; // type of HUD-Element
				source = ...; // source for display value
				properties = ...; // other HUD-Elements properties
			};
		};
	};
};

Global HUD Properties

These are defined in each AirplaneHUD instance and affect every sub-sequent element. Some properties can be overwritten in each child element if needed (e.g color) :

  • color : [r,g,b,a] - color of all elements.
  • topLeft : "string" - memory point defining the top left position of the HUD and uses it as the absolute origin (0,0,0). Not used if helmetMountedDisplay = true.
  • topRight : "string" - memory point defining the top right position of the HUD and uses it as the far right limit (1,0,0). Not used if helmetMountedDisplay = true.
  • bottomLeft : "string" - memory point defining the bottom left position of the HUD and uses it as the bottom limit (0,1,0). Not used if helmetMountedDisplay = true.
  • borderLeft : float - adjust position inside of memory points LOD. Not used if helmetMountedDisplay = true.
  • borderRight : float - adjust position inside of memory points LOD. Not used if helmetMountedDisplay = true.
  • borderTop : float - adjust position inside of memory points LOD. Not used if helmetMountedDisplay = true.
  • borderBottom : float - adjust position inside of memory points LOD. Not used if helmetMountedDisplay = true.
  • fontHelicopterHUD : "string" - font used for this HUD instance.
  • helmetMountedDisplay : true/false - Defines if the HUD is attached to a fixed point of the aircraft or moves with the head of the pilot.