Multi-Function Display (MFD) config reference – Arma 3
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.