$surfaceprop: Difference between revisions
Jump to navigation
Jump to search
Bug:
Left 4 Dead does not display bullet decals properly on brick surfaces. If you're okay with the decals and visual effects being inappropriate, you can change the
Confirm:Is this fixed in
Left 4 Dead 2? [todo tested in ?]
No edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
{{lang| | {{lang|$surfaceprop}} | ||
{{This is a|c0|name=$surfaceprop}} It links the surface of either a [[material]] or [[model]] to a set of physical properties, including: | |||
* What sounds are emitted during collisions | * What sounds are emitted during collisions |
Revision as of 19:27, 22 December 2023
$surfaceprop
is a c0 available in all Source games. It 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.


$surfaceprop
to something else to fix it, such as concrete.

In Materials
$surfaceprop
is not linked to any particular shader, so it can be used at any time.- Only brush based shaders require this parameter.
$surfaceprop
must always be defined within the collision property of the QC file if anything other than the default is to be used, however.
In Models
- It is unclear whether a model's mass is calculated from
$surfaceprop
orprop_data
. - Surface props can be defined for individual bones with
$jointsurfaceprop
.