Material surface properties: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Renamed "In" column to "Only in" because that should cause less confusion when seeing an empty cell. Moved any $surfaceprop to a separate game-specific table if it appears only in one game. Used <code> for $surfaceprops. Removed irritating tabs in wikitext.)
(→‎Types: reworded into a little, updated woodladder, added DODs to "Only In" where it applies. (Ships with hl2 surfaceprop file but deleted some data, like crowbar and zombieflesh.))
Line 19: Line 19:


Most of the following surface properties are shipped in <code>scripts/surfaceproperties.txt</code>, which almost every game has.<br>
Most of the following surface properties are shipped in <code>scripts/surfaceproperties.txt</code>, which almost every game has.<br>
Some HL2-specific surface properties are shipped in <code>scripts/surfaceproperties_hl2.txt</code>. Those are only for the HL2 series, such as <code>Strider</code>, but some games ship that file as well.
Some HL2-specific surface properties are shipped in <code>scripts/surfaceproperties_hl2.txt</code>. Those are only for the HL2 series, such as <code>Strider</code>, but some games ship that file as well. Some games even ship this file but delete some surfaceprops from it.


{{note|This list only contains surfaceprops from official valve games. Surface properties that were introduced in third party mods/games such as {{gmod|1}} and {{bms|1}} can be found [[#Third_Party_Games/mods|below]].<br>
{{note|This list only contains surfaceprops from official valve games. Surface properties that were introduced in third party mods/games such as {{gmod|1}} and {{bms|1}} can be found [[#Third_Party_Games/mods|below]].<br>
If a surfaceprop happens to also be in a third party mod, it will also be listed as "Only in" inside this first list.}}
If a surfaceprop happens to also be in a third party mod, it will also be listed as "Only in" inside this first list. Or appear in the "Not in" list if that mod happened to remove it from the base list.}}
{{note|The following games have been checked for its surfaceprops: {{hl2series}}, {{l4ds}}, {{dods}}, {{asw}}, {{css}}, {{csgo}}, {{portalseries}}, {{tf2}}, {{infra}}, {{bms}}, {{gmod}}.<br>
{{note|The following games have been checked for its surfaceprops: {{hl2series}}, {{l4ds}}, {{dods}}, {{asw}}, {{css}}, {{csgo}}, {{portalseries}}, {{tf2}}, {{infra}}, {{bms}}, {{gmod}}.<br>
{{todo|Check other games and add them to the list of checked games.}}
{{todo|Check other games and add them to the list of checked games.}}
Line 60: Line 60:
|-
|-
| <code>Woodladder</code>
| <code>Woodladder</code>
| Same as Ladder, but with wooden climbing sounds.
| Same as Ladder, but with wooden climbing sounds.<br>
| {{l4d2}} {{csgo}} {{hl2series}}
|  
| {{dods}} {{infra}} {{bms}}
| {{dods}} {{infra}} {{bms}} {{asw}}
|-
|-
| <code>No_decal</code>
| <code>No_decal</code>
Line 158: Line 158:
| <code>Combine_metal</code>
| <code>Combine_metal</code>
| Part of <code>scripts/surfaceproperties_hl2.txt</code>. Native to HL2, and the games shipping with this script.
| Part of <code>scripts/surfaceproperties_hl2.txt</code>. Native to HL2, and the games shipping with this script.
| {{hl2series}} {{css}} {{tf2}}
| {{hl2series}} {{css}} {{tf2}} {{dods}}
|  
|  
|-
|-
Line 173: Line 173:
| <code>Gunship</code>
| <code>Gunship</code>
| Part of <code>scripts/surfaceproperties_hl2.txt</code>. Native to HL2, and the games shipping with this script.
| Part of <code>scripts/surfaceproperties_hl2.txt</code>. Native to HL2, and the games shipping with this script.
| {{hl2series}} {{css}} {{tf2}}
| {{hl2series}} {{css}} {{tf2}} {{dods}}
|  
|  
|-
|-
Line 203: Line 203:
| <code>Metal_seafloorcar</code>
| <code>Metal_seafloorcar</code>
| Part of <code>scripts/surfaceproperties_hl2.txt</code>. Native to HL2, and the games shipping with this script.
| Part of <code>scripts/surfaceproperties_hl2.txt</code>. Native to HL2, and the games shipping with this script.
| {{hl2series}}  {{css}} {{tf2}}
| {{hl2series}}  {{css}} {{tf2}} {{dods}}
|  
|  
|-
|-
Line 365: Line 365:
| <code>Antlionsand</code>
| <code>Antlionsand</code>
| Part of <code>scripts/surfaceproperties_hl2.txt</code>. Native to HL2, and the games shipping with this script.
| Part of <code>scripts/surfaceproperties_hl2.txt</code>. Native to HL2, and the games shipping with this script.
| {{hl2series}}  {{css}} {{tf2}}
| {{hl2series}}  {{css}} {{tf2}} {{dods}}
|  
|  
|-
|-
Line 433: Line 433:
| <code>Antlion</code>
| <code>Antlion</code>
| Part of <code>scripts/surfaceproperties_hl2.txt</code>. Native to HL2, and the games shipping with this script.
| Part of <code>scripts/surfaceproperties_hl2.txt</code>. Native to HL2, and the games shipping with this script.
| {{hl2series}}  {{css}} {{tf2}}
| {{hl2series}}  {{css}} {{tf2}} {{dods}}
|  
|  
|-
|-
Line 509: Line 509:
| <code>Combine_glass</code>
| <code>Combine_glass</code>
| Part of <code>scripts/surfaceproperties_hl2.txt</code>. Native to HL2, and the games shipping with this script.
| Part of <code>scripts/surfaceproperties_hl2.txt</code>. Native to HL2, and the games shipping with this script.
| {{hl2series}}  {{css}} {{tf2}}
| {{hl2series}}  {{css}} {{tf2}} {{dods}}
|  
|  
|-
|-

Revision as of 15:58, 10 January 2025

English (en)Deutsch (de)Français (fr)日本語 (ja)Русский (ru)Translate (Translate)

These are lists of physical surface types ($surfaceprop) that Source recognizes, as defined by the files referenced in /scripts/surfaceproperties_manifest.txt.

Surface types define the physical properties of an object including friction, density, collision/footstep sounds, the effect of bullet impacts and, if the object is destructible, health and gib type.

Both materials and models define their surfaces with the $surfaceprop command.

Note.pngNote:For GoldSrc GoldSrc, use sounds/materials.txt. This file usually has documentation at the top dictating which surface types are available in the given mod.

Types

About the following first table:

  • Each row represents a surface property available in multiple games. (The game-specific ones are below.)
  • Games listed in the "Only in" column are the only ones that have that surfaceprop. If empty, the surfaceprop should be available in all games.
  • Games listed in the "Not in" column had that surfaceprop removed. Such as Zombieflesh which was shipped with Half-Life 2 but is ironically not in the Left 4 Dead series anymore.
  • If a surface property is available in some game, one can expect that it is also available in mods of it, like Portal: Revolution being a mod of Portal 2.

Most of the following surface properties are shipped in scripts/surfaceproperties.txt, which almost every game has.
Some HL2-specific surface properties are shipped in scripts/surfaceproperties_hl2.txt. Those are only for the HL2 series, such as Strider, but some games ship that file as well. Some games even ship this file but delete some surfaceprops from it.

Note.pngNote:This list only contains surfaceprops from official valve games. Surface properties that were introduced in third party mods/games such as Garry's Mod and Black Mesa can be found below.
If a surfaceprop happens to also be in a third party mod, it will also be listed as "Only in" inside this first list. Or appear in the "Not in" list if that mod happened to remove it from the base list.
Note.pngNote:The following games have been checked for its surfaceprops: Half-Life 2Half-Life 2: DeathmatchHalf-Life 2: Lost CoastHalf-Life 2: Episode OneHalf-Life 2: Episode Two, Left 4 Dead seriesLeft 4 Dead series, Day of Defeat: Source, Alien Swarm, Counter-Strike: Source, Counter-Strike: Global Offensive, Portal series, Team Fortress 2, INFRA, Black Mesa, Garry's Mod.
Todo: Check other games and add them to the list of checked games.

Special

Description Only in Not in
Default
Default_silent For invisible collision materials, like sky. Bullet impacts are neither visible nor audible, giving the illusion that there is no impact.
Floatingstandable This one is used for puzzles where we want something that floats but the player can stand on without it sinking beneath the water.
Item Small med kit, smaller tech items, battery.
Ladder Ladder is a fake material for walking on ladders.
Woodladder Same as Ladder, but with wooden climbing sounds.
Day of Defeat: Source INFRA Black Mesa Alien Swarm
No_decal
Warning.pngWarning:Will still cause decals if used on world brushes. At least in Left 4 Dead 2
Player Special materials for player controller.
Player_control_clip Special materials for player controller.

Concrete/Rock

Description Only in Not in
Baserock Missing in most games. Why is it listed here?
Boulder Will cause material glitches if used in models
Brick
Cavern_rock Half-Life 2: Episode Two Garry's Mod
Concrete
Concrete_block 9x12 prefabricated concrete cinder blocks.
Gravel
Rock Solid rock (small sounds).
Sheetrock Plaster like walls, except without paper-like particles. Uses rocks instead. Left 4 Dead 2 Counter-Strike: Global Offensive

Metal

Description Only in Not in
brass_bell_large
brass_bell_medium
brass_bell_small
brass_bell_smallest
Various bells, playing different notes when shot. Counter-Strike: SourceCounter-Strike: Global Offensive
Canister Large oxygen tank, propane tank, welding tank.
Chain Metal chain.
Chainlink Chainlink fencing material.
Combine_metal Part of scripts/surfaceproperties_hl2.txt. Native to HL2, and the games shipping with this script. Half-Life 2Half-Life 2: DeathmatchHalf-Life 2: Lost CoastHalf-Life 2: Episode OneHalf-Life 2: Episode Two Counter-Strike: Source Team Fortress 2 Day of Defeat: Source
Crowbar Sounds for specifically the crowbar.
Part of scripts/surfaceproperties_hl2.txt. Native to HL2, and the games shipping with this script.
Half-Life 2Half-Life 2: DeathmatchHalf-Life 2: Lost CoastHalf-Life 2: Episode OneHalf-Life 2: Episode Two Counter-Strike: Source Team Fortress 2 Left 4 Dead 2 Left 4 Dead
Grenade Sounds like a small metal object when dropped, but sounds like dirt when stepped on. INFRA
Gunship Part of scripts/surfaceproperties_hl2.txt. Native to HL2, and the games shipping with this script. Half-Life 2Half-Life 2: DeathmatchHalf-Life 2: Lost CoastHalf-Life 2: Episode OneHalf-Life 2: Episode Two Counter-Strike: Source Team Fortress 2 Day of Defeat: Source
Metal
Metal_barrel Larger metal barrel, metal oil drum.
In CS:GO, a thickness of 1 unit already blocks all bullets.
Floating_metal_barrel Surfaceprop alone does not define whether item can float. At least in Left 4 Dead 2
Metal_bouncy prop_physics and func_physbox with this surfaceprop will bounce around when dropped.
Metal_Box Smaller metal box (< 2' width/height/depth)
Metal_seafloorcar Part of scripts/surfaceproperties_hl2.txt. Native to HL2, and the games shipping with this script. Half-Life 2Half-Life 2: DeathmatchHalf-Life 2: Lost CoastHalf-Life 2: Episode OneHalf-Life 2: Episode Two Counter-Strike: Source Team Fortress 2 Day of Defeat: Source
Metalgrate Metal grating, used for decking
Grate Uses "Metalgrate" as base and has no properties of its own. Probably a leftover. Left 4 Dead 2Counter-Strike: Global Offensive
Metalpanel Thick solid steel panel - used for solid wall, floor, machine construction.
Metalvent ~1mm thick metal
Metalvehicle Part of scripts/surfaceproperties_hl2.txt. Theoretically native to Half-Life 2 series only, but many other games also use it.
Its easier listing which game doesn't have this.
Alien Swarm Day of Defeat: Source INFRA Black Mesa
Paintcan Smaller metal can INFRA
Popcan Small aluminum can, full. INFRA
Roller Combine Roller mine material. INFRA
Slipperymetal Very low friction on which you slip and slide, just like ice.
Solidmetal Almost nothing is solid metal - so metal is sheet metal
Strider Left 4 Dead seriesLeft 4 Dead series Counter-Strike: Global Offensive
Weapon Sounds for when weapons drop. INFRA
Strongman_bell Sounds like a boxing ring bell when hit. Left 4 Dead 2 Counter-Strike: Global Offensive
Slipperyslide Like SlipperyMetal, but uses SolidMetal sounds. Left 4 Dead 2 Counter-Strike: Global Offensive

Wood

Description Only in Not in
Wood Generic wood
Note.pngNote:materials should use wood_box, wood_crate, wood_plank, wood_panel etc.
Wood_Box
Wood_Crate Large crate, large wood furniture (bookcases, tables). Portal 2 Team Fortress 2 Left 4 Dead seriesLeft 4 Dead series Counter-Strike: Global Offensive
Wood_Furniture small wood furniture - chairs, small tables.
Wood_LowDensity Small crate. Portal 2 Left 4 Dead seriesLeft 4 Dead series Team Fortress 2 Counter-Strike: Global Offensive Day of Defeat: Source
Wood_Plank Wood board, floorboard, plank.
Wood_Panel Plywood panel, wood door panel.
Wood_Solid Solid 6x6 or greater block, post or tree.

Terrain

Description Only in Not in
Dirt
Grass
Gravel
Mud
Quicksand Does not let you sink like in quicksand.
Sand
Slipperyslime Very low friction on which you slip and slide, just like ice.
Antlionsand Part of scripts/surfaceproperties_hl2.txt. Native to HL2, and the games shipping with this script. Half-Life 2Half-Life 2: DeathmatchHalf-Life 2: Lost CoastHalf-Life 2: Episode OneHalf-Life 2: Episode Two Counter-Strike: Source Team Fortress 2 Day of Defeat: Source
Sugarcane Same Sounds as Foliage, but uses "Dirt" as base, with lower density. As foliage uses higher density. Left 4 Dead 2 Counter-Strike: Global Offensive

Liquid

Description Only in Not in
Slime
Water If applied to brushes/models that are not using %compilewater, it will sound like water and spawn water particles when shot. But it will also draw bullet decals.
Wade Wade is a water material for walking in/on water at knee height.
If applied to brushes/models it will sound like water and spawn water particles when shot. But it will also draw bullet decals.
Puddle When shot, spawns refracting water splash particles Left 4 Dead seriesLeft 4 Dead series INFRA Counter-Strike: Global Offensive
Wet Doesn't actually do anything. Left 4 Dead 2 Counter-Strike: Global Offensive Black Mesa

Frozen

Description Only in Not in
Ice Very low friction on which you slip and slide.
Snow
Icon-Bug.pngBug:Missing sound files for footsteps  (tested in: Left 4 Dead 2)

Organic

Description Only in Not in
Alienflesh INFRA
Antlion Part of scripts/surfaceproperties_hl2.txt. Native to HL2, and the games shipping with this script. Half-Life 2Half-Life 2: DeathmatchHalf-Life 2: Lost CoastHalf-Life 2: Episode OneHalf-Life 2: Episode Two Counter-Strike: Source Team Fortress 2 Day of Defeat: Source
Antlion_eggshell Half-Life 2: Episode Two
Armorflesh Flesh for physics, metal for bullet fx.
Bloodyflesh Does not spawn bloody bullet decals in Left 4 Dead 2 INFRA
Flesh Medium-sized body. INFRA
Foliage
Hay Counter-Strike: Source Garry's Mod
Hunter Half-Life 2: Episode Two Garry's Mod
Watermelon Left 4 Dead seriesLeft 4 Dead series INFRA
Zombieflesh Part of scripts/surfaceproperties_hl2.txt. Native to HL2, and the games shipping with this script. Half-Life 2Half-Life 2: DeathmatchHalf-Life 2: Lost CoastHalf-Life 2: Episode OneHalf-Life 2: Episode Two Counter-Strike: Source Team Fortress 2 INFRA Black Mesa

Manufactured

Description Only in Not in
Advisor_shield Half-Life 2: Episode Two
Asphalt Left 4 Dead seriesLeft 4 Dead seriesCounter-Strike: Global Offensive
Glass Pane of glass, computer screen, window, glass door...
Use Glassfloor in CS:GO if a glass floor shouldn't be more slippery than usual.
Glassbottle Glass soda bottle, cup, plate, jar...
Combine_glass Part of scripts/surfaceproperties_hl2.txt. Native to HL2, and the games shipping with this script. Half-Life 2Half-Life 2: DeathmatchHalf-Life 2: Lost CoastHalf-Life 2: Episode OneHalf-Life 2: Episode Two Counter-Strike: Source Team Fortress 2 Day of Defeat: Source
Tile
Paper
Papercup INFRA
Cardboard
Plaster Drywall, office wall material, sheetrock.
Plastic_barrel Larger plastic barrel, hollow, soft plastic.
Plastic_barrel_buoyant Surfaceprop alone does not define whether item can float. At least in Left 4 Dead 2 Day of Defeat: Source
Plastic_Box Small - Medium plastic box, hard plastic.
Plastic Smaller generic hard plastic.
Rubber Solid rubber floor mat, solid rubber tire.
Rubbertire Hollow rubber tire
Slidingrubbertire Special material for monitoring vehicle handling per wheel.
Slidingrubbertire_front Special material for monitoring vehicle handling per axle.
Slidingrubbertire_rear Special material for monitoring vehicle handling per axle.
Jeeptire Tired for the drivable vehicles. Day of Defeat: Source
Brakingrubbertire Special material for monitoring vehicle handling per axle.
Jalopy Half-Life 2: Episode Two Garry's Mod Counter-Strike: Global Offensive
Jalopytire Special material for monitoring vehicle handling per axle. Half-Life 2: Episode Two Garry's Mod Counter-Strike: Global Offensive
Slidingrubbertire_jalopyfront Special material for monitoring vehicle handling per axle. Half-Life 2: Episode Two Garry's Mod Counter-Strike: Global Offensive
Slidingrubbertire_jalopyrear Special material for monitoring vehicle handling per axle. Half-Life 2: Episode Two Garry's Mod Counter-Strike: Global Offensive
Clay Ceramic jug, mug. Left 4 Dead 2Counter-Strike: Global Offensive
Porcelain Tubs, urinals, sinks, ect.
Upholstery For Couches, sofas, car seats, ect. Left 4 Dead 2 Counter-Strike: Global Offensive

Miscellaneous

Description Only in Not in
Carpet
Ceiling_tile Acoustic ceiling tiles, sound baffles, crumbly plaster. INFRA
Computer Technical equipment. Glass and plastic impact noises, but plastic bullet decals.
Helmet special sounds when a helmet is shot. Day of Defeat: Source
Pottery Ceramic pots.

Game-specific

The following surface types are only available in one game.

Alien Swarm Alien Swarm

$surfaceprop Description
Ammo_pickup Ammo supply boxes
Ice_noslide Ice, but without the ability to slide.
Snow_noslide Snow, but without the ability to slide.
Steam_pipe
stim_prop Stops glass breaking sounds from playing when stims are kicked around/shot

Counter-Strike: Global Offensive Counter-Strike: Global Offensive

$surfaceprop Description
Blockbullets Blocks bullets entirely, because the Tools/ToolsBlockBullets doesn't really block bullets.
dufflebag_survivalCase Used for prop_money_crate.
Glassfloor Like Glass, but with a normal friction value.
metal_barrel_explodingSurvival Used for prop_exploding_barrel.
metal_barrelSoundOverride
Metal_sand_barrel Barrel of sand. A thickness of 1 unit already blocks all bullets.
Metal_shield Uses weapon sounds for weapon_shield.
metal_survivalCase Base for metal_survivalCase_unpunchable.
metal_survivalCase_unpunchable Used for prop_metal_crate.
metal_vehicleSoundOverride
metaldogtags Used for item_dogtags.
plastic_survivalCase Used for the yellow prop_loot_crate.
slowgrass Used for the tall grass material seen on dz_blacksite dz_blacksite. It's the only material that has the property hidetargetid 1.
soccerball Used by the soccer ball prop seen on de_dust2 de_dust2.
stucco
tile_survivalCase Used by the blue and red prop_loot_crate, and prop_paradrop_crate.
tile_survivalCase_GIB
weapon_magazine
Wood_Basket Like Wood_Box but with different step sounds.
Wood_Dense Allows much less bullet penetration.

Left 4 Dead 2 Left 4 Dead 2

$surfaceprop Description
Bat
Blade
Chainsaw
Cricketbat
Crowbar
Fireaxe
Fryingpan
Golfclub
Guitar
Pitchfork
Shovel
Sword
Like "Weapon" but used for the melee weapons to give specific sounds when they are dropped.
Foliage_leaf Same as Foliage, but uses Foliage sounds, instead of Dirt sounds.

Portal Portal

$surfaceprop Description
Energyball Unsure what this is. But its listed in the portal surfaceprop file, based on "Glass".
"The portal energy ball needs perfectly reflective collisions, reguardless of what it hits".
Sphere Unsre what this is. But its listed in the portal surfaceprop file, based on "Metal".
The sphere needs to have elasticity and dampening set to create a more realistic bounce
Sphere2 Portal2's spehere is made of metal and isn't quite as bouncey

Portal 2 Portal 2

$surfaceprop Description
brokenglass
hard_light_bridge
PaintBomb Based on metal. Unsure what this really is used for.
painted_surface Has paint step sounds, but no other functions.
Reflective Unsre what this is. But its listed in the portal surfaceprop file, based on "metalpanel".
Same description as "Energyball" in Portal 1 had. "The portal energy ball needs perfectly reflective collisions, reguardless of what it hits".
Turret_Gib Gib models of turrets use this.
Underground_Cube
WeightedCube_Bounce Extremely bouncy storage cube.

Team Fortress 2 Team Fortress 2

$surfaceprop Description
ball_bouncy Rubber bouncy ball
demoman_grenade
grenade_napalm pyro napalm grenade.
passtime_ball Rubber Pass time ball from Tf2
scout_baseball Rubber baseball Projectile.
scout_ornament Glass christmas tree ornament Projectile.
wasabiball Based on "Rubber.
Wrecking_ball


Third Party Games/mods

The following surfaceprops are added in popular non-Valve games, which can't be found in any official valve titles.

Black Mesa Black Mesa

$surfaceprop Description
Concretegrit
Conveyor_off
Conveyor_on
Special properties for the conveyor belts.
Floating_metal_barrel_bms Special version just for Black Mesa
floating_plastic_barrel_bms
friction_metal_00
friction_metal_10
friction_metal_15
friction_metal_25
friction_metal_35
friction_metal_45
Metals with various friction settings.
hornet_bouncy
Inttower Flesh walk sound used in the interloper tower interior
Leaves Black Mesa's version of "Foliage_leaf"
Metalpipe
Satchel Dufflebag material, or backpack.
Xen_Root Fleshy tentacle roots in Xen.

Garry's Mod Garry's Mod

$surfaceprop Description
frictionM_00
frictionM_10
frictionM_25
friction_00
friction_10
friction_25
Material with default sounds, but with various friction settings.
gmod_bouncy
gmod_ice Very low friction on which you slip and slide.
gmod_silent
gm_ps_egg
gm_ps_metaltire
gm_ps_soccerball
gm_ps_woodentire
gm_torpedo
phx_explosiveball
phx_flakshell
phx_rubbertire
phx_rubbertire2
phx_tire_normal
phx_ww2bomb
plastic_barrel_verybuoyant Even more buoyant barrel.

INFRA INFRA

$surfaceprop Description
Alttile Only has different step sounds
Bag Dufflebag material, or backpack.
Balloon Based on plastic, but has a balloon popping sound when broken.
Crpt Same as Carpet in every way.

See also