$collisionmodel

From Valve Developer Community
Revision as of 12:42, 21 April 2008 by TomEdwards (talk | contribs)
Jump to navigation Jump to search

The QC command $collisionmodel is used to generate a collision model.

Note.pngNote:Jointed collision models use $collisionjoints.

Example Syntax

$collisionmodel "tree_deciduous_01a_physbox.smd"
{
    $mass 350.0
    $concave
}

You should always create a low-detail collision SMD, as a body mesh is almost always far too complex to be used. See Collision model#Build_a_collision_model.

Options

$mass <float|kilograms>
Manually set the mass of the model.
Todo: Presumably this has some use outside physics simulation?
$automass
Automatically compute the mass of the model. The calculation takes into account the density/thickness of the material defined by $surfaceprop and/or prop_data, as well as the volume of the collision SMD itself.
$concave
A collision model must be a convex shape, but you can create concave shapes by including multiple meshes in the same model. $concave tells studiomdl that this is what you want it to do, rather than make a single convex hull by bridging any gaps.
$maxconvexpieces <int>
By default, studiomdl 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.pngNote:Introduced with the Orange Box. In the Ep1 engine, run studiomdl with -fullcollide when compiling instead.
$masscenter <X Y Z offset?>
Override the center of mass, in local coords.
$inertia <scale?>
Inertia scale.
$damping <scale?>
Linear damping scale.
$rotdamping <scale?>
Rotational damping scale.
$drag <scale?>
Scales air resistance.

See also