$surfaceprop: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
Bug:(in 
) Not including a $surfaceprop in a vmt for brushes will cause the material to take on the sound (and perhaps the other properties as well) of whatever the last material that was interacted with which did have a $surfaceprop defined. 
Workaround:Use $surfaceprop "default".   [todo tested in ?]
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 ?]
		
	
SirYodaJedi (talk | contribs) mNo edit summary  | 
				SirYodaJedi (talk | contribs)  m (→In Models)  | 
				||
| Line 29: | Line 29: | ||
* It is unclear whether a model's mass is calculated from <code>$surfaceprop</code> or <code>[[Prop Data|prop_data]]</code>.  | * It is unclear whether a model's mass is calculated from <code>$surfaceprop</code> or <code>[[Prop Data|prop_data]]</code>.  | ||
* Surface props can be defined for individual [[bone]]s with <code>[[$jointsurfaceprop]]</code>.  | * Surface props can be defined for individual [[bone]]s with <code>[[$jointsurfaceprop]]</code>.  | ||
* A static prop can only have one $surfaceprop.  | |||
== See also ==  | == See also ==  | ||
Revision as of 08:43, 31 May 2024
It is also available as a shader parameter. 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
$surfacepropis not linked to any particular shader, so it can be used at any time.- Only brush based shaders require this parameter. 
$surfacepropmust 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 
$surfaceproporprop_data. - Surface props can be defined for individual bones with 
$jointsurfaceprop. - A static prop can only have one $surfaceprop.