From Valve Developer Community
Revision as of 15:02, 14 May 2008 by Beeswax (talk | contribs) (Options: added tip for $mass)

Jump to: navigation, search

The QC command $collisionmodel is used to embed a non-animated collision mesh in a model, for use in VPhysics calculations.

Note:If your model has moving parts that may affect collisions, such as ragdoll limbs, use $collisionjoints instead.
Note:Collision meshes should be extremely lo-poly in comparison to reference meshes, and even lod meshes. See collision mesh.
Tip:Set the Console Variable vcollide_wireframe 1 to view collision meshes in-game.


$collisionmodel "<collision mesh SMD>.smd"


$mass <float|kilograms>
Manually set the mass of the model, in kilograms.
Tip:By default, the Player can +USE pickup 35kg max. The gravgun can pickup 250kg 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, the model compiler will generate a single convex hull by bridging any concavities in a collision SMD. You can create a concave hull by including multiple, overlapping convex meshes in your SMD, and adding the $concave will preserve concavities by using multiple convex pieces. The resulting hull structure is a bit like a rigid ragdoll.
$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 - for instance if you are creating an unusually large model.
Note:Introduced with the Orange Box. In the Ep1 engine, run StudioMDL with -fullcollide when compiling instead.
$masscenter <vector|offset>
Override the center of mass, in local coords.
$inertia <float|scale>
Inertia scale.
$damping <float|scale>
Linear damping scale.
$rotdamping <float|scale>
Rotational damping scale.
$drag <float|scale>
Scales air resistance.


$collisionmodel "tree_deciduous_01a_physbox.smd"
	$mass 350.0

See also