====== ArmA 3 CfgSurfaces ====== 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 [[clutter-buldozer-and-you#how_cfgsurfaces_cfgsurfacecharacters_and_clutter_work]].