CfgSurfaces Config Reference – Arma 3
(improved →AIAvoidStance: description) |
Lou Montana (talk | contribs) m (Text replacement - "{{Feature | Warning | " to "{{Feature|warning|") |
||
(17 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{warning | This reference page was created for | {{Feature|warning|This reference page was created for {{arma3}} v1.60+, some fields may not exist in prior games and versions.}} | ||
{{ | {{ConfigPage|start}} | ||
{{ | {{ConfigPage|abc}} | ||
=== A === | === A === | ||
Line 7: | Line 7: | ||
[[TokenNameValueTypes|Integer]]: Determines the manipulability of the class. | [[TokenNameValueTypes|Integer]]: Determines the manipulability of the class. | ||
{| class=" | {| class="wikitable" | ||
! Value !! Type !! Description | ! Value !! Type !! Description | ||
|- | |- | ||
| | | {{hl|0}} || ReadAndWrite || Additional values can be added | ||
|- | |- | ||
| | | {{hl|1}} || ReadAndCreate || Only adding new class members is allowed | ||
|- | |- | ||
| | | {{hl|2}} || ReadOnly || No modifications enabled | ||
|- | |- | ||
| | | {{hl|3}} || ReadOnlyVerified || No modifications enabled | ||
|} | |} | ||
Line 29: | Line 29: | ||
[[TokenNameValueTypes|Integer]]: Allows restricting the AI from entering prone with two levels of emphasis | [[TokenNameValueTypes|Integer]]: Allows restricting the AI from entering prone with two levels of emphasis | ||
{| class=" | {| class="wikitable" | ||
! Value !! Description | ! Value !! Description | ||
|- | |- | ||
| | | {{hl|0}} || No change in behavior | ||
|- | |- | ||
| | | {{hl|1}} || Less preference for going prone - avoid prone (unless stealth or suppressed or *) | ||
|- | |- | ||
| | | {{hl|2}} || Almost never going prone - never prone (unless *) | ||
|} | |} | ||
Line 62: | Line 62: | ||
==== files ==== | ==== files ==== | ||
[[TokenNameValueTypes|String]]: Defines which ground texture and [ | [[TokenNameValueTypes|String]]: Defines which ground texture and [[LOD#Roadway|roadway]] texture filenames this surface will apply to | ||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
files = "gdt_grass_green_*"; // Tells the ground texture what surface it corresponds to | files = "gdt_grass_green_*"; // Tells the ground texture what surface it corresponds to | ||
Line 80: | Line 80: | ||
==== friction ==== | ==== friction ==== | ||
Seems obsolete | |||
[[TokenNameValueTypes|Float]]: Unknown | [[TokenNameValueTypes|Float]]: Unknown | ||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
friction = 0.9; // Default value, used by all A3 surfaces | friction = 0.9; // Default value, used by all A3 surfaces | ||
Line 88: | Line 92: | ||
==== grassCover ==== | ==== grassCover ==== | ||
[[TokenNameValueTypes|Float]]: | [[TokenNameValueTypes|Float]]: Reduces visibleSize (taken from CfgMovesBasic) of unit for AI visibility movement computations (cannot make fully invisible) - it is NOT about visual drawing | ||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
grassCover = 0; // Used by GdtStratisConcrete, there will be no simulated grass cover at a distance | grassCover = 0; // Used by GdtStratisConcrete, there will be no simulated grass cover at a distance | ||
Line 96: | Line 100: | ||
=== I === | === I === | ||
==== impact ==== | ==== impact ==== | ||
[[TokenNameValueTypes|String]]: Defines what particle effect is shown when the surface is hit by a bullet, points to a corresponding entry in [ | [[TokenNameValueTypes|String]]: Defines what particle effect is shown when the surface is hit by a bullet, points to a corresponding entry in [[CfgAmmo_Config_Reference#HitEffects|CfgAmmo]] | ||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
impact = "hitGroundHard"; // Used by GdtStony, particle effect will be chunks of rock flying when hit | impact = "hitGroundHard"; // Used by GdtStony, particle effect will be chunks of rock flying when hit | ||
Line 126: | Line 130: | ||
==== lucidity ==== | ==== lucidity ==== | ||
[[TokenNameValueTypes|Float]]: | [[TokenNameValueTypes|Float]]: how hard to detect a mine on this surface. Default: 1 | ||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
lucidity = 0.3; // Used by GdtStratisConcrete | lucidity = 0.3; // Used by GdtStratisConcrete | ||
Line 143: | Line 147: | ||
==== maxSpeedCoef ==== | ==== maxSpeedCoef ==== | ||
[[TokenNameValueTypes|Float]]: Defines the maximum speed coefficient on that surface | [[TokenNameValueTypes|Float]]: Defines the maximum speed coefficient on that surface for carEPE simulation. Default is 1 | ||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
maxSpeedCoef = 1; // Used by GdtStratisConcrete, no change in speed | maxSpeedCoef = 1; // Used by GdtStratisConcrete, no change in speed | ||
Line 149: | Line 153: | ||
maxSpeedCoef = 0.8; // Used by GdtStratisForestPine, 20% reduction in speed | maxSpeedCoef = 0.8; // Used by GdtStratisForestPine, 20% reduction in speed | ||
</syntaxhighlight> | </syntaxhighlight> | ||
For cars also limited by terrainCoef factor defined in cfgVehicles. Max reduction is 50%. | |||
=== R === | === R === | ||
==== restitution ==== | ==== restitution ==== | ||
Seems obsolete | |||
[[TokenNameValueTypes|Float]]: Unknown | [[TokenNameValueTypes|Float]]: Unknown | ||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
Line 159: | Line 168: | ||
==== rough ==== | ==== rough ==== | ||
[[TokenNameValueTypes|Float]]: Defines the roughness of the surface when driving over it in a vehicle (higher value = more bumps) | |||
Seems disabled in A3. | |||
[[TokenNameValueTypes|Float]]: Defines the roughness of the surface when driving over it in a vehicle (higher value = more bumps). Seems to limit also speed of tanks somewhat | |||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
rough = 0.05; // Used by GdtStratisConcrete, minimal bumps | rough = 0.05; // Used by GdtStratisConcrete, minimal bumps | ||
Line 168: | Line 181: | ||
==== soundEnviron ==== | ==== soundEnviron ==== | ||
[[TokenNameValueTypes|String]]: Defines the sound played when walking or driving a vehicle on the surface, points to sounds defined in [ | [[TokenNameValueTypes|String]]: Defines the sound played when walking or driving a vehicle on the surface, points to sounds defined in [[CfgVehicles_Config_Reference#SoundEnvironExt_Class|SoundEnvironExt]] | ||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
soundEnviron = "drygrass"; // Used by GdtGrassDry, dry grass sound | soundEnviron = "drygrass"; // Used by GdtGrassDry, dry grass sound | ||
Line 174: | Line 187: | ||
soundEnviron = "int_wood"; // Used by SurfIntWood, weapons fired while on this surface will have a reverb effect. | soundEnviron = "int_wood"; // Used by SurfIntWood, weapons fired while on this surface will have a reverb effect. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
This value also determines the sound for footsteps inside of a building corresponding for the [ | This value also determines the sound for footsteps inside of a building corresponding for the [[LOD#Roadway|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. | ||
Relates also the [[Arma_3_Sound:_SoundControllers|sound controllers]] | |||
Check the spoiler for soundEnviron values used in vanilla A3 in 1.68: | Check the spoiler for soundEnviron values used in vanilla A3 in 1.68: | ||
Line 181: | Line 195: | ||
<pre> | <pre> | ||
normalExt | normalExt | ||
water | water | ||
seabed_exp | seabed_exp | ||
road - SurfSoundAsphalt | |||
tarmac - SurfSoundAsphalt | |||
concrete - SurfSoundAsphalt | |||
concrete_exp | concrete_exp | ||
int_concrete | |||
int_concrete_exp | |||
asphalt_exp | asphalt_exp | ||
pavement_exp | pavement_exp | ||
int_pavement_exp | int_pavement_exp | ||
gravel - SurfSoundGravel | |||
gravel_exp | |||
normal - SurfSoundGravel | |||
debris - SurfSoundGravel | |||
stony - SurfSoundGravel, SurfSoundGrass, SurfSoundDirt | |||
stones_exp | stones_exp | ||
rock - SurfSoundRock | |||
sand - SurfSoundSand | |||
sand_exp | |||
grass - SurfSoundGrass | |||
grass_exp | |||
grasstall_exp | |||
drygrass - SurfSoundGrass | |||
forest - SurfSoundDirt, SurfSoundGrass | |||
forest_exp | |||
wood | |||
int_wood | |||
softwood_exp | softwood_exp | ||
int_softwood_exp | int_softwood_exp | ||
mud - SurfSoundDirt | |||
mud_exp | |||
dirt - SurfSoundDirt | |||
dirt_exp | |||
metal | |||
int_metal | |||
metalplate_exp | metalplate_exp | ||
int_metalplate_exp | |||
metalplatepressed_exp | metalplatepressed_exp | ||
steel_exp | |||
gridmetal_exp | gridmetal_exp | ||
wavymetal | |||
wavymetal_exp | wavymetal_exp | ||
roof_tiles | |||
rooftiles_exp | |||
int_tiles | |||
tiling | |||
virtual | |||
int_solidwood_exp | |||
int_carpet_exp | int_carpet_exp | ||
int_mat_exp | int_mat_exp | ||
straw_exp | straw_exp | ||
lino_exp | |||
int_lino_exp | int_lino_exp | ||
</spoiler> | </spoiler> | ||
Line 241: | Line 269: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Seemingly valid values: | |||
* body | |||
* building | |||
* concrete | |||
* default | |||
* foliage | |||
* glass | |||
* glass_armored | |||
* hard_ground | |||
* iron | |||
* metal | |||
* metal_plate | |||
* plastic | |||
* rubber | |||
* soft_ground | |||
* water | |||
* wood | |||
Check the spoiler for soundHit values used in vanilla A3 in 1.68: | Check the spoiler for soundHit values used in vanilla A3 in 1.68: | ||
Line 261: | Line 306: | ||
=== T === | === T === | ||
==== terrainClutterFactor ==== | |||
[[TokenNameValueTypes|Integer]]: Can enable clutter on roadway when above 0 | |||
<syntaxhighlight lang="cpp"> | |||
terrainClutterFactor = 0; // Default value used by all surfaces, except for Water = 1 | |||
</syntaxhighlight> | |||
==== tracksAlpha ==== | ==== tracksAlpha ==== | ||
Seems obsolete | |||
[[TokenNameValueTypes|Integer]]: Defines the alpha value of vehicle tracks | [[TokenNameValueTypes|Integer]]: Defines the alpha value of vehicle tracks | ||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
Line 269: | Line 324: | ||
==== transparency ==== | ==== transparency ==== | ||
[[TokenNameValueTypes|Integer]]: | [[TokenNameValueTypes|Integer]] 1: fully transparent. 0 and lower: fully opaque | ||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
transparency = -1; // Default value used by | transparency = -1; // Default value used by surfaces if this property is not defined | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Used in the viewGeometry LOD to determine how transparent the surface is to the AI view. | |||
In vanilla {{arma3}}, this property seems to be only used by [[Arma_3:_Vegetation_P3D#.5BViewGeometry.5D|APEX DLC vegetations]]: "a3\vegetation_f_exp\data\foliage_sparse.bisurf" (<syntaxhighlight lang="cpp" inline>transparency = 0.2</syntaxhighlight>) and "a3\vegetation_f_exp\data\foliage_dense.bisurf" (<syntaxhighlight lang="cpp" inline>transparency = 0.01</syntaxhighlight>). | |||
{{ConfigPage|end}} | |||
{{GameCategory|arma3|Reference Lists}} |
Latest revision as of 21:46, 16 May 2024
A
access
Integer: Determines the manipulability of the class.
Value | Type | Description |
---|---|---|
0 | ReadAndWrite | Additional values can be added |
1 | ReadAndCreate | Only adding new class members is allowed |
2 | ReadOnly | No modifications enabled |
3 | ReadOnlyVerified | No modifications enabled |
All BIS classes are ReadOnlyVerified and can only be inherited into a new class
access = 2; // ReadOnly
AIAvoidStance
1.60 Integer: Allows restricting the AI from entering prone with two levels of emphasis
Value | Description |
---|---|
0 | No change in behavior |
1 | Less preference for going prone - avoid prone (unless stealth or suppressed or *) |
2 | Almost never going prone - never prone (unless *) |
* means commanded, injured, animated, forced, ...
C
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
D
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
F
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
From commented configs of BI (binarize\bin)
Caution: wildcard pattern "files" is matched using special purpose matching * may be used only as last character of the pattern * matches any string in filename ? matches any single character in filename when six trailing question-marks are detected "??????", two patterns are matched: full pattern and short pattern with ?????? omitted
friction
Seems obsolete
Float: Unknown
friction = 0.9; // Default value, used by all A3 surfaces
G
grassCover
Float: Reduces visibleSize (taken from CfgMovesBasic) of unit for AI visibility movement computations (cannot make fully invisible) - it is NOT about visual drawing
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
I
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
Check the spoiler for impact values used in vanilla A3 in 1.68:
default_Mat hitWater hitGroundHard hitConcrete hitGroundSoft hitVirtual HitGroundRed hitGroundRed
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
L
lucidity
Float: how hard to detect a mine on this surface. Default: 1
lucidity = 0.3; // Used by GdtStratisConcrete
lucidity = 3.5; // Used by GdtStratisForestPine
lucidity = 150; // Used by GdtStratisSeabed
M
maxClutterColoringCoef
Float: Defines the maximal coefficient of difference between the color of the surface and clutter (must be greater than or equal to 1)
maxClutterColoringCoef = 1.35; // Used by GdtStratisConcrete
maxClutterColoringCoef = 1.5; // Used by GdtBeach
maxSpeedCoef
Float: Defines the maximum speed coefficient on that surface for carEPE simulation. Default is 1
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
For cars also limited by terrainCoef factor defined in cfgVehicles. Max reduction is 50%.
R
restitution
Seems obsolete
Float: Unknown
restitution= 0; // Used by every surface
rough
Seems disabled in A3.
Float: Defines the roughness of the surface when driving over it in a vehicle (higher value = more bumps). Seems to limit also speed of tanks somewhat
rough = 0.05; // Used by GdtStratisConcrete, minimal bumps
rough = 0.15; // Used by GdtMud, fairly bumpy
S
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.
Relates also the sound controllers
Check the spoiler for soundEnviron values used in vanilla A3 in 1.68:
normalExt water seabed_exp road - SurfSoundAsphalt tarmac - SurfSoundAsphalt concrete - SurfSoundAsphalt concrete_exp int_concrete int_concrete_exp asphalt_exp pavement_exp int_pavement_exp gravel - SurfSoundGravel gravel_exp normal - SurfSoundGravel debris - SurfSoundGravel stony - SurfSoundGravel, SurfSoundGrass, SurfSoundDirt stones_exp rock - SurfSoundRock sand - SurfSoundSand sand_exp grass - SurfSoundGrass grass_exp grasstall_exp drygrass - SurfSoundGrass forest - SurfSoundDirt, SurfSoundGrass forest_exp wood int_wood softwood_exp int_softwood_exp mud - SurfSoundDirt mud_exp dirt - SurfSoundDirt dirt_exp metal int_metal metalplate_exp int_metalplate_exp metalplatepressed_exp steel_exp gridmetal_exp wavymetal wavymetal_exp roof_tiles rooftiles_exp int_tiles tiling virtual int_solidwood_exp int_carpet_exp int_mat_exp straw_exp lino_exp int_lino_exp↑ Back to spoiler's top
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
Seemingly valid values:
- body
- building
- concrete
- default
- foliage
- glass
- glass_armored
- hard_ground
- iron
- metal
- metal_plate
- plastic
- rubber
- soft_ground
- water
- wood
Check the spoiler for soundHit values used in vanilla A3 in 1.68:
hard_ground concrete soft_ground building
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
T
terrainClutterFactor
Integer: Can enable clutter on roadway when above 0
terrainClutterFactor = 0; // Default value used by all surfaces, except for Water = 1
tracksAlpha
Seems obsolete
Integer: Defines the alpha value of vehicle tracks
tracksAlpha = 1; // Default value used by all surfaces
transparency
Integer 1: fully transparent. 0 and lower: fully opaque
transparency = -1; // Default value used by surfaces if this property is not defined
Used in the viewGeometry LOD to determine how transparent the surface is to the AI view.
In vanilla Arma 3, this property seems to be only used by APEX DLC vegetations: "a3\vegetation_f_exp\data\foliage_sparse.bisurf" (transparency = 0.2
) and "a3\vegetation_f_exp\data\foliage_dense.bisurf" (transparency = 0.01
).