CfgSurfaces Config Reference – Arma 3

From Bohemia Interactive Community
Jump to navigation Jump to search
m (removed a category)
m (Text replacement - "{{Feature | Warning | " to "{{Feature|warning|")
 
(18 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{warning | This reference page was created for Arma 3  v1.60+, some fields may not exist in prior games and versions.}}
{{Feature|warning|This reference page was created for {{arma3}} v1.60+, some fields may not exist in prior games and versions.}}
{{Cfg ref|start}}
{{ConfigPage|start}}
{{Cfg ref|abc}}
{{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="bikitable"
{| class="wikitable"
! Value !! Type !! Description
! Value !! Type !! Description
|-
|-
| <tt>0</tt> || ReadAndWrite ||| Additional values can be added
| {{hl|0}} || ReadAndWrite || Additional values can be added
|-
|-
| <tt>1</tt> || ReadAndCreate ||| Only adding new class members is allowed
| {{hl|1}} || ReadAndCreate || Only adding new class members is allowed
|-
|-
| <tt>2</tt> || ReadOnly ||| No modifications enabled
| {{hl|2}} || ReadOnly || No modifications enabled
|-
|-
| <tt>3</tt> || ReadOnlyVerified ||| 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="bikitable"
{| class="wikitable"
! Value !! Description
! Value !! Description
|-
|-
| <tt>0</tt> || No change in behavior
| {{hl|0}} || No change in behavior
|-
|-
| <tt>1</tt> || Less preference for going prone
| {{hl|1}} || Less preference for going prone - avoid prone (unless stealth or suppressed or *)
|-
|-
| <tt>2</tt> || Almost never going prone
| {{hl|2}} || Almost never going prone - never prone (unless *)
|}
|}
* means commanded, injured, animated, forced, ...


=== C ===
=== C ===
Line 60: Line 62:


==== files ====
==== files ====
[[TokenNameValueTypes|String]]: Defines which ground texture and [https://community.bistudio.com/wiki/LOD#Roadway roadway] texture filenames this surface will apply to
[[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 78: 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 86: Line 92:


==== grassCover ====
==== grassCover ====
[[TokenNameValueTypes|Float]]: Used to simulate grass cover at a distance by sinking the target into the ground (higher value = more sinking)
[[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 94: 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 [https://community.bistudio.com/wiki/CfgAmmo_Config_Reference#HitEffects CfgAmmo]
[[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 124: Line 130:


==== lucidity ====
==== lucidity ====
[[TokenNameValueTypes|Float]]: Unknown
[[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 141: 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 147: 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 157: 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 166: Line 181:


==== soundEnviron ====
==== soundEnviron ====
[[TokenNameValueTypes|String]]: Defines the sound played when walking or driving a vehicle on the surface, points to sounds defined in [https://community.bistudio.com/wiki/CfgVehicles_Config_Reference#SoundEnvironExt_Class SoundEnvironExt]
[[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 172: 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 [https://community.bistudio.com/wiki/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.
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 179: Line 195:
<pre>
<pre>
normalExt
normalExt
water
water
gravel
concrete
tarmac
wood
metal
wavymetal
roof_tiles
int_wood
int_concrete
int_tiles
int_metal
normal
sand
dirt
drygrass
grass
stony
debris
sand_exp
rock
seabed_exp
seabed_exp
tiling
 
virtual
road - SurfSoundAsphalt
dirt_exp
tarmac - SurfSoundAsphalt
concrete - SurfSoundAsphalt
concrete_exp
concrete_exp
int_concrete
int_concrete_exp
asphalt_exp
asphalt_exp
int_concrete_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
int_solidwood_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
steel_exp
 
mud - SurfSoundDirt
mud_exp
dirt - SurfSoundDirt
dirt_exp
 
metal
int_metal
metalplate_exp
metalplate_exp
int_metalplate_exp
metalplatepressed_exp
metalplatepressed_exp
int_metalplate_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
mud_exp
straw_exp
straw_exp
lino_exp
int_lino_exp
int_lino_exp
lino_exp
rooftiles_exp
gravel_exp
grass_exp
grasstall_exp
forest_exp
</spoiler>
</spoiler>


Line 239: 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 259: 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 267: Line 324:


==== transparency ====
==== transparency ====
[[TokenNameValueTypes|Integer]]: Unknown
[[TokenNameValueTypes|Integer]] 1: fully transparent. 0 and lower: fully opaque
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
transparency = -1; // Default value used by all surfaces
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}}


{{Cfg ref|end}}


[[Category:Arma 3: Editing]]
{{GameCategory|arma3|Reference Lists}}

Latest revision as of 21:46, 16 May 2024

This reference page was created for Arma 3 v1.60+, some fields may not exist in prior games and versions.

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

Arma 3 logo black.png1.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).