From Valve Developer Community
Jump to: navigation, search

The QC command $collisionmodel is used to embed a static collision mesh in a model, for use in VPhysics calculations. Animated models (including one that will become ragdolls) should use $collisionjoints instead.

Warning:Collision meshes should have extremely few polygons. See Collision mesh for examples.
For collision meshes modeled in XSI ModTool, ensure that none of the edges are marked as hard edges. Hard edges generate errors in the physbox smd.
Tip:Set the Console Variable vcollide_wireframe 1 to view collision meshes in-game.


$collisionmodel	<collision mesh SMD>


$mass <float|kilograms>
Manually set the mass of the model, in kilograms.
Tip:By default, the Player can +USE pick up 35KG max. The gravgun can pick up 250KG max. The portal gun can pick up 85KG max.
Calculate the mass of the model based on the volume of the collision model and the material defined in its prop_data.
By default, studiomdl will generate a single convex hull by 'shrinkwrapping' any concavities. You can create a concave hull by including multiple convex shapes (potentially overlapping) in your SMD, assigning each of them separate smoothing groups, and passing this command.
$maxconvexpieces <int>
By default, the model compiler limits a concave collision model to twenty convex pieces. This command can be used to override the limit if you are creating an Costly collision model.
Introduced with the Orange Box. In the Ep1 engine, run studiomdl with -fullcollide instead.
$masscenter <vector|offset>
Override the center of mass, in local coords.
$inertia <normal>
Inertia scale.
$damping <float>
Linear damping scale.
$rotdamping <float>
Rotational damping scale.
Warning:This affects the pull of gravity on the model and if abused can make it appear to float gently through the air. Valve recommends using "friction" instead.
$drag <normal>
Scales air resistance.


$collisionmodel "tree_deciduous_01a_physbox.smd"
	$mass 350.0

See also