Difference between revisions of "$collisionmodel"

From Valve Developer Community
Jump to: navigation, search
(Options: incorrect addition)
(Options: added tip for $mass)
Line 18: Line 18:
 
; <code>$mass <[[float]]|kilograms></code>
 
; <code>$mass <[[float]]|kilograms></code>
 
: Manually set the mass of the model, in 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.}}
  
 
;<code>$automass</code>
 
;<code>$automass</code>

Revision as of 15:02, 14 May 2008

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.

Syntax

$collisionmodel "<collision mesh SMD>.smd"
{
    <options>
}

Options

$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.
$automass
Calculate the mass of the model based on the volume of the collision model and the material defined in its prop_data.
$concave
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.

Example

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

See also