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 ... };
Integer: Determines the manipulability of the class. All bis classes are ReadOnlyVerified and can only be inherited into a new class
access = 2; //ReadOnly
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;
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
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
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
float: unknown
friction = 0.9; //Default value, used by all A3 surfaces
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
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
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
Float: Unknown
lucidity = 0.3; // Used by GdtStratisConcrete lucidity = 3.5; // Used by GdtStratisForestPine lucidity = 150; // Used by GdtStratisSeabed
Float: Defines the color coefficient on that surface
maxClutterColoringCoef = 1.35; // Used by GdtStratisConcrete maxClutterColoringCoef = 1.5; // Used by GdtBeach
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
Float:Unknown
restitution= 0; //Used by every surface
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
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.
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
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
Integer: Defines the alpha value of vehicle tracks
tracksAlpha = 1; // Default value used by all surfaces
Integer: Unknown
transparency = -1; // Default value used by all surfaces
See also how_cfgsurfaces_cfgsurfacecharacters_and_clutter_work.