Cleanup is going to take awhile, so the site is back up but editing has been disabled.

Surface Properties

From HalfLife 2 Knowledge Base

Jump to: navigation, search

Here is a comprehensive list of all the surface types in Counter-Strike Source.


default

{

density 2000

elasticity 0.25

friction 0.8

dampening 0.0

stepleft Default.StepLeft

stepright Default.StepRight

bulletimpact Default.BulletImpact

scraperough Default.ScrapeRough

scrapesmooth Default.ScrapeSmooth

impacthard Default.ImpactHard

impactsoft Default.ImpactSoft

audioreflectivity 0.66

audiohardnessfactor 1.0

audioroughnessfactor 1.0

scrapeRoughThreshold 0.5

impactHardThreshold 0.5

gamematerial C

jumpfactor 1.0

maxspeedfactor 1.0

climbable 0

}

// NOTE: Almost nothing is solid metal - so metal is sheet metal

solidmetal

{ density 2700

elasticity 0.1

audioreflectivity 0.83

friction 0.8

stepleft SolidMetal.StepLeft

stepright SolidMetal.StepRight

impacthard SolidMetal.ImpactHard

impactsoft SolidMetal.ImpactSoft

scraperough SolidMetal.ScrapeRough

scrapesmooth SolidMetal.ScrapeSmooth

bulletimpact SolidMetal.BulletImpact

// strain SolidMetal.Strain

gamematerial M

}

// metal box - smaller metal box (< 2' width/height/depth)

Metal_Box

{

base solidmetal

thickness 0.1

stepleft Metal_Box.StepLeft

stepright Metal_Box.StepRight

bulletimpact Metal_Box.BulletImpact

scraperough Metal_Box.ScrapeRough

scrapesmooth Metal_Box.ScrapeSmooth

impacthard Metal_Box.ImpactHard

impactsoft Metal_Box.ImpactSoft

break Metal_Box.Break

// strain Metal_Box.Strain

}

// Assume that everything we are building

// is large enough to be constructed out of a thin sheet of metal

// only flag a few things as solidmetal (I-Beams, anvils, etc)

metal

{

base solidmetal

elasticity 0.25

thickness 0.1

}

metal_bouncy

{

base solidmetal

elasticity 1000

friction 0

density 10000

}

// Airboat pontoons have very low friction

// TODO: make the pontoon material separate from the rest of the airboat?

slipperymetal

{

base metal

friction 0.1

elasticity 0.15

audioreflectivity 0.83

audioroughnessfactor 0.1

}

// metal grating, used for decking

metalgrate

{

thickness 0.5

density 1600

elasticity 0.25

friction 0.8

stepleft MetalGrate.StepLeft

stepright MetalGrate.StepRight

impacthard MetalGrate.ImpactHard

impactsoft MetalGrate.ImpactSoft

scraperough MetalGrate.ScrapeRough

scrapeSmooth MetalGrate.ScrapeSmooth

bulletimpact MetalGrate.BulletImpact

audioreflectivity 0.83

// strain Metal_Box.Strain

gamematerial G

}

// ~1mm thick metal

metalvent

{

base metal_box

thickness 0.04

density 2700

elasticity 0.1

friction 0.8

stepleft MetalVent.StepLeft

stepright MetalVent.StepRight

impacthard MetalVent.ImpactHard

audioreflectivity 0.33

audioroughnessfactor 0.1

gamematerial V

}

// thick solid steel panel - used for solid wall, floor, machine construction

metalpanel

{

base metal

thickness 0.1

density 2700

elasticity 0.2

friction 0.8

audioreflectivity 0.33

audioroughnessfactor 0.1

gamematerial M

}

dirt

{

density 1600

elasticity 0.01

friction 0.8

stepleft Dirt.StepLeft

stepright Dirt.StepRight

impacthard Dirt.Impact

scraperough Dirt.Scrape

bulletimpact Dirt.BulletImpact

audioreflectivity 0.03

audiohardnessfactor 0.25

gamematerial D

}

mud

{

base dirt

friction 0.6

dampening 6.0

stepleft Mud.StepLeft

stepright Mud.StepRight

audiohardnessfactor 0.0

audioroughnessfactor 0.1

}

slipperyslime

{

base dirt

friction 0.1

jumpfactor 0.7

stepleft SlipperySlime.StepLeft

stepright SlipperySlime.StepRight

audiohardnessfactor 0.0

audioroughnessfactor 0.1

}

grass

{

base dirt

stepleft Grass.StepLeft

stepright Grass.StepRight

}

tile

{

thickness 0.5

density 2700

elasticity 0.3

friction 0.8

stepleft Tile.StepLeft

stepright Tile.StepRight

audioreflectivity 0.99

audioroughnessfactor 0.1

bulletimpact Tile.BulletImpact

gamematerial T

}

// generic wood (NOTE: materials should use wood_box, wood_crate, wood_plank, wood_panel etc)

Wood

{

density 700

elasticity 0.1

friction 0.8

stepleft Wood.StepLeft

stepright Wood.StepRight

bulletimpact Wood.BulletImpact

scraperough Wood.ScrapeRough

scrapesmooth Wood.ScrapeSmooth

impacthard Wood.ImpactHard

impactsoft Wood.ImpactSoft

// strain Wood.Strain

break Wood.Break

audioreflectivity 0.33

audiohardnessfactor 0.25

gamematerial W

}

Wood_lowdensity

{

base wood

density 300

}

// small crate

Wood_Box

{

base Wood

stepleft Wood_Box.StepLeft

stepright Wood_Box.StepRight

bulletimpact Wood_Box.BulletImpact

scraperough Wood_Box.ScrapeRough

scrapesmooth Wood_Box.ScrapeSmooth

impacthard Wood_Box.ImpactHard

impactsoft Wood_Box.ImpactSoft

// strain Wood_Box.Strain

break Wood_Box.Break

}

// large crate, large wood furniture (bookcases, tables)

Wood_Crate

{ base Wood

stepleft Wood_Crate.StepLeft

stepright Wood_Crate.StepRight

scraperough Wood_Crate.ScrapeRough

scrapesmooth Wood_Crate.ScrapeSmooth

impacthard Wood_Crate.ImpactHard

impactsoft Wood_Crate.ImpactSoft

// strain Wood_Crate.Strain

break Wood_Crate.Break

}

// wood board, floorboard, plank

Wood_Plank

{

base Wood_Box

bulletimpact Wood_Plank.BulletImpact

scraperough Wood_Plank.ScrapeRough

scrapesmooth Wood_Plank.ScrapeSmooth

impacthard Wood_Plank.ImpactHard

impactsoft Wood_Plank.ImpactSoft

// strain Wood_Plank.Strain

break Wood_Plank.Break

}

// solid 6x6 or greater block, post or tree

Wood_Solid

{

base Wood

bulletimpact Wood_Solid.BulletImpact

scraperough Wood_Solid.ScrapeRough

scrapesmooth Wood_Solid.ScrapeSmooth

impacthard Wood_Solid.ImpactHard

impactsoft Wood_Solid.ImpactSoft

// strain Wood_Solid.Strain

break Wood_Solid.Break

}

// small wood furniture - chairs, small tables

Wood_Furniture

{

base Wood_Box

impactsoft Wood_Furniture.ImpactSoft

// strain Wood_Furniture.Strain

break Wood_Furniture.Break

}

// wood panel - plywood panel, wood door panel

Wood_Panel

{

base Wood_Crate

thickness 1.0

stepleft Wood_Panel.StepLeft

stepright Wood_Panel.StepRight

bulletimpact Wood_Panel.BulletImpact

scraperough Wood_Panel.ScrapeRough

scrapesmooth Wood_Panel.ScrapeSmooth

impacthard Wood_Panel.ImpactHard

impactsoft Wood_Panel.ImpactSoft

// strain Wood_Panel.Strain

break Wood_Panel.Break

}


water

{

density 1000

elasticity 0.1

friction 0.8

stepleft Water.StepLeft

stepright Water.StepRight

bulletimpact Water.BulletImpact

audioreflectivity 0.33

audioroughnessfactor 0.1

audiohardnessfactor 0.0

gamematerial S }

slime

{

density 2000

elasticity 0.1

friction 0.9

dampening 200.0

stepleft Mud.StepLeft

stepright Mud.StepRight

bulletimpact Water.BulletImpact

gamematerial S

audioreflectivity 0.33

audiohardnessfactor 0.0

audioroughnessfactor 0.1

}

quicksand

{

density 600

elasticity 2.0

audioreflectivity 0.33

audiohardnessfactor 0.0

audioroughnessfactor 1.0

}

// wade is a water material for walking in/on water at knee height

wade

{

base water

stepleft Wade.StepLeft

stepright Wade.StepRight

audioreflectivity 0.33

gamematerial X

}

// ladder is a fake material for walking on ladders

ladder

{

base metal

climbable 1.0

stepleft Ladder.StepLeft

stepright Ladder.StepRight

audioreflectivity 0.33

gamematerial X

}

// pane of glass, computer screen, window, glass door

glass

{

thickness 0.5

density 2700

elasticity 0.2

friction 0.5

stepleft Glass.StepLeft

stepright Glass.StepRight

scraperough Glass.ScrapeRough

scrapesmooth Glass.ScrapeSmooth

impacthard Glass.ImpactHard

impactsoft Glass.ImpactSoft

bulletimpact Glass.BulletImpact

// strain Glass.Strain

break Glass.Break

audioreflectivity 0.66

audiohardnessfactor 1.0

audioroughnessfactor 0.0

gamematerial Y

}

// computer case, tech equipment case

computer

{

base metal_box

bulletimpact Computer.BulletImpact

impacthard Computer.ImpactHard

impactsoft Computer.ImpactSoft

gamematerial P

}

concrete

{

density 2400

elasticity 0.2

friction 0.8

stepleft Concrete.StepLeft

stepright Concrete.StepRight

scraperough Concrete.ScrapeRough

scrapesmooth Concrete.ScrapeSmooth

impacthard Concrete.ImpactHard

impactsoft Concrete.ImpactSoft

bulletimpact Concrete.BulletImpact

audioreflectivity 0.66

gamematerial C

}

// Solid rock (small sounds)

rock

{ base concrete

impacthard Rock.ImpactHard

impactsoft Rock.ImpactSoft

scraperough Rock.ImpactHard

scrapesmooth Rock.ImpactSoft

}

// tubs, urinals, sinks

porcelain

{

base rock

}

// Large solid rock (large sounds)

boulder

{

base rock

scraperough Boulder.ScrapeRough

scrapesmooth Boulder.ScrapeSmooth

impacthard Boulder.ImpactHard

impactsoft Boulder.ImpactSoft

}

gravel

{

base rock

friction 0.4

stepleft Gravel.StepLeft

'stepright'Gravel.StepRight

}

brick

{

base rock

}

// 9x12 prefabricated concrete cinder blocks

concrete_block

{


base concrete

impacthard Concrete_Block.ImpactHard

}

// chainlink fencing material

chainlink

{

thickness 0.5

density 1600

elasticity 0.25

friction 0.8

stepleft ChainLink.StepLeft

stepright ChainLink.StepRight

impacthard ChainLink.ImpactHard

impactsoft ChainLink.ImpactSoft

scraperough ChainLink.ScrapeRough

scrapesmooth ChainLink.ScrapeSmooth

bulletimpact ChainLink.BulletImpact

gamematerial G

}

// metal chain

chain

{ base chainlink

impacthard ChainLink.ImpactHard

impactsoft ChainLink.ImpactSoft

scraperough ChainLink.ScrapeRough

scrapesmooth ChainLink.ScrapeSmooth

bulletimpact ChainLink.BulletImpact

gamematerial G

}

// medium sized body

flesh

{ density 900

stepleft Flesh.StepLeft

stepright Flesh.StepRight

bulletimpact Flesh.BulletImpact

impacthard Flesh.ImpactHard

impactsoft Flesh.ImpactSoft

scraperough Flesh.ScrapeRough

scrapesmooth Flesh.ScrapeSmooth

// strain Flesh.Strain

break Flesh.Break

audiohardnessfactor 0.25

audioHardMinVelocity 500

audioroughnessfactor 0.1

gamematerial F

}

// gibs

bloodyflesh

{

base flesh

impacthard Flesh_Bloody.ImpactHard

gamematerial B

}

alienflesh

{

base flesh

gamematerial H

}


// Flesh for physics, metal for bullet fx armorflesh

{

base flesh

bulletimpact ArmorFlesh.BulletImpact

audiohardnessfactor 1.0

audioroughnessfactor 0.1

gamematerial M

}

watermelon

{

density 900

bulletimpact Watermelon.BulletImpact

impacthard Watermelon.Impact

scraperough Watermelon.Scrape

audiohardnessfactor 0.25

audioroughnessfactor 0.1

gamematerial W

}

snow

{

base dirt

density 800

friction 0.35

audiohardnessfactor 0.25

}

ice

{

density 917

friction 0.1

elasticity 0.1

audioroughnessfactor 0.1

}


// UNDONE: Do proper values for these - I made them up so I would have good // initial values for all VMTs carpet { base dirt density 500 thickness 0.1 elasticity 0.01 friction 0.8

impacthard Carpet.Impact bulletimpact Carpet.BulletImpact scraperough Carpet.Scrape

audioreflectivity 0.03 audiohardnessfactor 0.25 audioroughnessfactor 0.1 }

// drywall, office wall material, sheetrock

plaster { base dirt audiohardnessfactor 0.5 audioroughnessfactor 0.1

stepleft drywall.StepLeft stepright drywall.StepRight bulletimpact drywall.ImpactHard scraperough ceiling_tile.ScrapeRough scrapesmooth ceiling_tile.ScrapeSmooth impacthard drywall.ImpactHard impactsoft drywall.ImpactSoft

// strain Cardboard.Strain break Cardboard.Break

}

// carboard box

cardboard { base dirt density 500 thickness 0.25

audiohardnessfactor 0.25 audioroughnessfactor 0.25

stepleft Cardboard.StepLeft stepright Cardboard.StepRight bulletimpact Cardboard.BulletImpact scraperough Cardboard.ScrapeRough scrapesmooth Cardboard.ScrapeSmooth impacthard Cardboard.ImpactHard impactsoft Cardboard.ImpactSoft

// shake Cardboard.Shake // strain Cardboard.Strain break Cardboard.Break

}

// larger plastic barrel, hollow, soft plastic

plastic_barrel { density 500 thickness 0.25 elasticity 0.01 friction 0.8

audiohardnessfactor 0.25 audioroughnessfactor 0.25

stepleft Plastic_Barrel.StepLeft stepright Plastic_Barrel.StepRight bulletimpact Plastic_Barrel.BulletImpact scraperough Plastic_Barrel.ScrapeRough scrapesmooth Plastic_Barrel.ScrapeSmooth impacthard Plastic_Barrel.ImpactHard impactsoft Plastic_Barrel.ImpactSoft

// shake Plastic_Barrel.Shake // strain Plastic_Barrel.Strain break Plastic_Barrel.Break // roll Plastic_Barrel.Roll

gamematerial L }

// small - medium plastic box, hard plastic

Plastic_Box { density 500 elasticity 0.01 friction 0.8 thickness 0.25

audiohardnessfactor 0.25 audioroughnessfactor 0.25

stepleft Plastic_Box.StepLeft stepright Plastic_Box.StepRight bulletimpact Plastic_Box.BulletImpact scraperough Plastic_Box.ScrapeRough scrapesmooth Plastic_Box.ScrapeSmooth impacthard Plastic_Box.ImpactHard impactsoft Plastic_Box.ImpactSoft

// strain Plastic_Box.Strain break Plastic_Box.Break

gamematerial L }

// smaller generic hard plastic

       plastic

{

	base		Plastic_Box

audioroughnessfactor 0.1

bulletimpact Plastic_Box.ImpactHard }

// small med kit, smaller tech items, battery

item { base Plastic_Box density 600

bulletimpact Plastic_Box.ImpactHard }


// This one is used for puzzles where we want something that floats // but the player can stand on without it sinking beneath the water floatingstandable { base dirt density 800 }


sand { base dirt stepleft Sand.StepLeft stepright Sand.StepRight bulletimpact Sand.BulletImpact

audioreflectivity 0.03 }

// solid rubber floor mat, solid rubber tire

rubber { base dirt elasticity 0.2 friction 0.8

stepleft Rubber.StepLeft stepright Rubber.StepRight impacthard Rubber.ImpactHard impactsoft Rubber.ImpactSoft bulletimpact Rubber.BulletImpact

audioroughnessfactor 0.1 audiohardnessfactor 0.2

}

// hollow rubber tire

rubbertire { base rubber

bulletimpact Rubber_Tire.BulletImpact impacthard Rubber_Tire.ImpactHard impactsoft Rubber_Tire.ImpactSoft

// strain Rubber_Tire.Strain

friction 1.0 }

jeeptire { base rubber

bulletimpact Rubber_Tire.BulletImpact impacthard Rubber_Tire.ImpactHard impactsoft Rubber_Tire.ImpactSoft

// strain Rubber_Tire.Strain

friction 1.337 }

slidingrubbertire { base rubber friction 0.2 }

brakingrubbertire { base rubber friction 0.6 }

slidingrubbertire_front { base rubber friction 0.2 }

slidingrubbertire_rear { base rubber friction 0.2 }

// ----------------------------- // objects // -----------------------------


// glass soda bottle, cup, plate, jar

glassbottle { base glass friction 0.4 elasticity 0.3

stepleft GlassBottle.StepLeft stepright GlassBottle.StepRight impacthard GlassBottle.ImpactHard impactsoft GlassBottle.ImpactSoft scraperough GlassBottle.ScrapeRough scrapesmooth GlassBottle.ScrapeSmooth bulletimpact GlassBottle.BulletImpact

break GlassBottle.Break }

// ceramic jug, mug

pottery { base glassbottle friction 0.4 elasticity 0.3

impacthard Pottery.ImpactHard impactsoft Pottery.ImpactSoft bulletimpact Pottery.BulletImpact

break Pottery.Break }

// solid hand grenade

grenade { base metalpanel friction 0.9 elasticity 0.01


audiohardnessfactor 1.0 audioroughnessfactor 0.4

stepleft Grenade.StepLeft stepright Grenade.StepRight bulletimpact Grenade.ImpactHard scraperough Grenade.ScrapeRough scrapesmooth Grenade.ScrapeSmooth impacthard Grenade.ImpactHard impactsoft Grenade.ImpactSoft // roll Grenade.Roll }


// large oxygen tank, propane tank, welding tank

canister { base metalpanel impacthard Canister.ImpactHard impactsoft Canister.ImpactSoft scraperough Canister.ScrapeRough scrapesmooth Canister.ScrapeSmooth // roll Canister.Roll }

// larger metal barrel, metal oil drum

metal_barrel { base metal_box impacthard Metal_Barrel.ImpactHard impactsoft Metal_Barrel.ImpactSoft bulletimpact Metal_Barrel.BulletImpact // roll Metal_Barrel.Roll }

floating_metal_barrel { base metal_barrel density 500 }

plastic_barrel_buoyant { base plastic_barrel density 150 }

// ROLLER NPC

roller { base metalpanel friction 0.7 elasticity 0.3 impacthard Roller.Impact }

// small aluminum can, full

popcan { base metal_box friction 0.3 elasticity 0.99 impacthard Popcan.ImpactHard impactsoft Popcan.ImpactSoft scraperough Popcan.ScrapeRough scrapesmooth Popcan.ScrapeSmooth bulletimpact Popcan.BulletImpact // strain // none // break // none }

// paint can, smaller metal can

paintcan { base popcan friction 0.3 elasticity 0.99 impacthard Paintcan.ImpactHard impactsoft Paintcan.ImpactSoft

//roll Paintcan.Roll // strain // none // break // none }

paper { base cardboard }


papercup { base paper friction 0.8 elasticity 0.1 impacthard Papercup.Impact scraperough Popcan.ScrapeRough }

// accoustic ceiling tiles, sound baffles, crumbly plaster ceiling_tile { base cardboard

stepleft ceiling_tile.StepLeft stepright ceiling_tile.StepRight bulletimpact ceiling_tile.BulletImpact scraperough ceiling_tile.ScrapeRough scrapesmooth ceiling_tile.ScrapeSmooth impacthard ceiling_tile.ImpactHard impactsoft ceiling_tile.ImpactSoft

break ceiling_tile.Break }


// weapon models - sounds for when weapons drop // Maybe we'll want specific materials for each weapon? weapon { base metal stepleft weapon.StepLeft stepright weapon.StepRight bulletimpact weapon.BulletImpact scraperough weapon.ScrapeRough scrapesmooth weapon.ScrapeSmooth impacthard weapon.ImpactHard impactsoft weapon.ImpactSoft }

// for invisible collision materials (like sky) default_silent { gamematerial X }

// special materials for player controller player { density 1000 friction 0.5 elasticity 0.001

// player is soft & smooth for sound selection audiohardnessfactor 0.0 audioroughnessfactor 0.0 }

player_control_clip { gamematerial I }

no_decal { density 900 gamematerial - }

foliage { base Wood_Solid

density 700 elasticity 0.1 friction 0.8

gamematerial O }

Personal tools