$surfaceprop
The $surfaceprop
command links the surface of either a material or model to a set of physical properties, including:
- What sounds are emitted during collisions
- What effects are emitted when the surface is shot
- Mass, buoyancy, bounciness...
- The effect of the surface on nearby sounds (reverberation, echo, absorption...)
Syntax
Syntax is the same for both models and materials:
$surfaceprop <name>
Names are defined in <game>\scripts\surfaceproperties_manifest.txt
(and the files it references). For a list of Valve's stock props, see Material surface properties.
NOTE: In Left 4 Dead, it appears there is a quirky problem with the brick material surface property relating to bullet decals. Specifically, Func_breakable brushes using brick textures in L4D do not show bullet decals correctly. In addition, bullet decals on all brick textures, save for urban_brickwall03a, will virtually disappear when they are in light, for example, when you shine the player flashlight on them. This problem also exists in the Valve-created, survival map Last Stand (on the breakable brick wall housing the room where the event is started.) It is unknown whether this issue will be fixed, or if there are any workarounds using settings currently available.
In materials
$surfaceprop
is not linked to any particular shader, so can be used at any time.
In models
- A model's surface prop will override its material's
- It is unclear whether a model's mass is calculated from
$surfaceprop
orprop_data
- Surface props can be defined for individual bones with
$jointsurfaceprop