Table of Contents

ArmA 3 CfgSurfaces

ArmA 3 Forum, ArmA 3, ArmA 3 Config, ArmA 3 Missions, ArmA 3 3D Modeling, ArmA 3 Scripting, ArmA 3 Terrain, ArmA 3 Texturing, ArmA 3 Tools

cfgSurfaces adds clutter configuration for ground detail texture (GDT) file names in the data\ directory. We also configure how rough the terrain is, what sound is played when driving/walking on it etc.

a3\map_data\config.cpp/cfgSurfaces:

class CfgSurfaces
{
	class Default{};
	class Water{};
	class GdtStratisGreenGrass: Default
	{
		access = 2;
		files = "gdt_strgreengrass_*";
		character = "StratisGreenGrassClutter";
		soundEnviron = "grass";
		soundHit = "soft_ground";
		rough = 0.08;
		maxSpeedCoef = 0.9;
		dust = 0.15;
		lucidity = 4;
		grassCover = 0.05;
		impact = "hitGroundSoft";
		surfaceFriction = 1.7;
		maxClutterColoringCoef = 1.35;
	};
	class GdtStratisRocky: Default
	{
		access = 2;
		files = "gdt_strrocky_*";
		character = "StratisRockyClutter";
		soundEnviron = "gravel";
		soundHit = "hard_ground";
		rough = 0.12;
		maxSpeedCoef = 0.85;
		dust = 0.4;
		lucidity = 1.5;
		grassCover = 0.02;
		impact = "hitGroundHard";
		surfaceFriction = 1.9;
		maxClutterColoringCoef = 1.35;
	};
	// etc ...
};

access

Integer: Determines the manipulability of the class. All bis classes are ReadOnlyVerified and can only be inherited into a new class

access = 2; //ReadOnly

AIAvoidStance

Integer: Allows restricting the AI from entering prone with two levels of emphasis

// 0 default
// 1 Less preference for going prone
// 2 Almost never going prone
AIAvoidStance = 0;

character

String: Points to a corresponding CfgSurfaceCharacters entry, which defines the clutter on this surface.

character = "Empty";		// No clutter will be used on this surface
character = "SeabedClutter";	// SeabedClutter defined in CfgSurfaceCharacters will be used on this surface

dust

Float: Amount of dust vehicles will create on this surface (higher value = more dust)

dust = 0.75;	// High amount of dust, used for GdtStratisDryGrass
dust = 0.05;	// Almost no dust, used for GdtConcrete

files

String: Defines which ground texture and roadway texture filenames this surface will apply to

files = "gdt_grass_green_*";	// Tells the ground texture what surface it corresponds to
files = "surfint_wood_*";	// Tells the texture used in the roadway LOD what surface it corresponds to

friction

float: unknown

friction = 0.9;	//Default value, used by all A3 surfaces

grassCover

Float: Used to simulate grass cover at a distance by sinking the target into the ground (higher value = more sinking)

grassCover = 0;		// Used by GdtStratisConcrete, there will be no simulated grass cover at a distance
grassCover = 0.05;	// Used by GdtStratisGreenGrass, there will be some simulated grass cover at a distance

impact

String: Defines what particle effect is shown when the surface is hit by a bullet, points to a corresponding entry in CfgAmmo

impact = "hitGroundHard";	// Used by GdtStony, particle effect will be chunks of rock flying when hit
impact = "hitGroundSoft";	// Used by GdtStratisDirt, particle effect will be dirt flying when hit

isWater

Integer: Declares whether the surface is water

isWater = 1;	// Used by SurfWater, declares the surface as water
isWater = 0;	// Used by Default, declares the surface is not water

lucidity

Float: Unknown

lucidity = 0.3;	// Used by GdtStratisConcrete
lucidity = 3.5;	// Used by GdtStratisForestPine
lucidity = 150;	// Used by GdtStratisSeabed

maxClutterColoringCoef

Float: Defines the color coefficient on that surface

maxClutterColoringCoef = 1.35;	// Used by GdtStratisConcrete
maxClutterColoringCoef = 1.5;	// Used by GdtBeach

maxSpeedCoef

Float: Defines the maximum speed coefficient on that surface

maxSpeedCoef = 1;	// Used by GdtStratisConcrete, no change in speed
maxSpeedCoef = 0.9;	// Used by GdtStratisGreenGrass, 10% reduction in speed
maxSpeedCoef = 0.8;	// Used by GdtStratisForestPine, 20% reduction in speed

restitution

Float:Unknown

restitution= 0;	//Used by every surface

rough

Float:Defines the roughness of the surface when driving over it in a vehicle (higher value = more bumps)

rough = 0.05;	// Used by GdtStratisConcrete, minimal bumps
rough = 0.15;	// Used by GdtMud, fairly bumpy

soundEnviron

String:Defines the sound played when walking or driving a vehicle on the surface, points to sounds defined in SoundEnvironExt

soundEnviron = "drygrass";	// Used by GdtGrassDry, dry grass sound
soundEnviron = "gravel";	// Used by SurfRoadDirt, gravel sound
soundEnviron = "int_wood";	// Used by SurfIntWood, weapons fired while on this surface will have a reverb effect.

This value also determines the sound for footsteps inside of a building corresponding for the roadway LOD. It is important to use corresponding textures for surfaces that are indoors or outdoors, as it has an effect on the sound when firing weapons on that surface.

soundHit

String:Defines the sound played when the surface is struck by a bullet

soundHit = "concrete";		// Used by GdtStratisConcrete, sound of bullet hitting concrete is played when this surface is hit
soundHit = "soft_ground";	// Used by GdtStratisDirt, sound of dirt is played when this surface is hit

surfaceFriction

Float: Defines the surface friction on this surface (lower value = more friction)

surfaceFriction = 2.5;	// Used by SurfRoadTarmac, highest surface friction value
surfaceFriction = 2;	// Used by SurfRoadConcrete, above average surface friction value
surfaceFriction = 1.8;	// Used by GdtDirt, below average surface friction value
surfaceFriction = 1.5;	// Used by GdtMarsh, low end of surface friction values

tracksAlpha

Integer: Defines the alpha value of vehicle tracks

tracksAlpha = 1;	// Default value used by all surfaces

transparency

Integer: Unknown

transparency = -1;	// Default value used by all surfaces

See also how_cfgsurfaces_cfgsurfacecharacters_and_clutter_work.