Repository navigation
Home
Infrared / night vision improvements for ARMA 3. Includes BettIR NVG module which introduces nightvision illuminators (for both goggles and helmets) and base functions for changing visibility/material/texture based on nightvision state (not supported in PiP nightvision), and BettIR Patches which introduces IR patches not only on uniforms, but also as attached objects on vests, backpacks and headgear.
v1.0.0 changes the way IR illuminators are added to Night Vision devices and helmets. Previously, it required a separate config entry in BettIR_Config which can be removed, since now it relies on a parameter in CfgWeapons called BettIR_isCompatible - BettIR will consider it compatible when it's set to 1 and the item has visionModes configured for nightvision. This allows all nightvision devices to be compatible with BettIR, as long as it inherits from basegame NVGoggles. If a night vision device is not supposed to have an illuminator, it should be blacklisted with BettIR_isCompatible set to 0. Optional parameter BettIR_Offset is provided in case the light source should be positioned differently.
class CfgWeapons {
class Binocular;
class NVGoggles: Binocular {
BettIR_isCompatible = 1; // 1 for true, 0 for false
BettIR_offset[] = {0.0,0.0,0.0}; // 3D vector
};
};Shift + Alt + N by default toggles the illuminator.
AI units are not capable of using this feature at this moment. However, they can be forced to use the illuminators by running
[_unit, _on] call BettIR_NVG_fnc_handleIlluminatorToggledEvent;where:
- _unit [OBJECT] - unit the illuminator should be turned on
- _on [BOOL] - true if the illuminator should be turned on, false otherwise
BettIR NVG provides abstract functions which allow textures, materials and visibility of an object to be changed under night vision. The material update mechanism is exactly what allows IR Patches to work in this mod. The functions register the object for requested updates, and the mod automatically deregisters the object when it's deleted/destroyed (becomes objNull), but deregistration functions are also available.
[_object, _textureIndex, _textureWhenOff, _textureWhenOn] call BettIR_NVG_fnc_registerNightvisionTextureChange;where:
-
_object[OBJECT] - object to be affected -
_textureIndex[NUMBER] - index of the texture inhiddenSelections/getObjectTextures -
_textureWhenOff[STRING] - texture path when night vision is disabled -
_textureWhenOn[STRING] - texture path when night vision is enabled
[_object, _materialIndex, _materialWhenOff, _materialWhenOn] call BettIR_NVG_fnc_registerNightvisionMaterialChange;where:
-
_object[OBJECT] - object to be affected -
_materialIndex[NUMBER] - index of the material inhiddenSelections/getObjectMaterials -
_materialWhenOff[STRING] - material path when night vision is disabled -
_materialWhenOn[STRING] - material path when night vision is enabled
[_object,_visibleWhenOn,_visibleWhenOff] call BettIR_NVG_fnc_registerNightvisionVisibilityChange;where
-
_object[OBJECT] - object to be affected -
_visibleWhenOn[BOOL] - true if the object should be visible when night vision is enabled -
_visibleWhenOff[BOOL] - true if the object should be visible when night vision is disabled
Visit https://github.com/thevestarr/bettir-nvg/wiki/BettIR-Patches