Arma 3: CfgLights

From Bohemia Interactive Community
Jump to: navigation, search

CfgLights

Here is a template with some descriptions:

class CfgLights
{
   color[] = {0,0,1,1};		// Array of RGBA
   diffuse[] = {0,0,1,1};		// Array of RGBA. Purpose unknown
   ambient[] = {0,0.25,1,0.5};		// Array of RGBA
   intensity = 25;			// Finite number between 0 and 1e10
   brightness = 0.1;			// Only used if intensity isn't set. Also deprecated. intensity = (brightness*50)^2
   class Attenuation {
       start = 1;			// distance with 100% intensity, falloff starts here
       constant = 1;			// constant attenuation coef
       linear = 1;			// linear attenuation coef
       quadratic = 1;			// quadratic attenuation coef
       hardLimitStart = 1e20*0.7;	// max distance hard limit start (start of fading of intensity to 0) in meter – default is (1e20 * 0.7)
       hardLimitEnd = 1e20;		// max distance hard limit end (end of fading of intensity to 0) in meter – default is 1e20
   };
   dayLight = 1;			// boolean (0/1). Is light shown during daylight.
   useFlare = 1;			// boolean (0/1). Is light having a flare effect
   flareSize = 1;			// Default is 1
   flareMaxDistance = 600;		// Default is 600
   position[] = {0,0,1};		// Position. Purpose unkown. Maybe some offset from the source.
   shape = "";				// String. Purpose unknown.
}

Commented parameters from engine source provided by reyhard

/// distance with 100% intensity, falloff starts here
float _startAttenuation; 
/// constant attenuation coef
float _constantAttenuation;
/// linear attenuation coef
float _linearAttenuation;
/// quadratic attenuation coef
float _quadraticAttenuation;
/// max distance hard limit start (start of fading of intensity to 0) in m
float _hardLimitStart;
/// max distance hard limit end (end of fading of intensity to 0) in m
float _hardLimitEnd;


/// outer angle in degrees
float _outerAngle;
/// inner angle in degrees
float _innerAngle;
/// fade coefficient between inner and outer angle (1.0f = linear)
float _fadeCoef;

bool _disabledInPIP;
/// is light usable during day?
bool _isDayLight;
/// can we use flare for this light"
bool _useFlare;
/// flare relative size for this light
float _flareSize;
/// max distance, where flare is visible (in meters)
float _flareMaxDistance;

/// light priority (higher value = higher priority)
/// lights with higher priority are selected first
int _priority;