$collisionmodel: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
m (→‎Options: all redir to this page!)
Line 15: Line 15:
==Options==
==Options==


; <code>[[$mass]] <[[float]]|kilograms></code>
; <code>$mass <[[float]]|kilograms></code>
: Manually set the mass of the model.
: Manually set the mass of the model.
:{{todo|Presumably this has some use outside physics simulation?}}
:{{todo|Presumably this has some use outside physics simulation?}}
; <code>[[$automass]] </code>
; <code>$automass </code>
: 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|prop_data]], as well as the volume of the collision SMD itself.
: 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|prop_data]], as well as the volume of the collision SMD itself.
; <code>[[$concave]] </code>
; <code>$concave </code>
: A collision model must be a [[Wikipedia:Convex|convex]] shape, but you can create [[Wikipedia:Concave|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.
: A collision model must be a [[Wikipedia:Convex|convex]] shape, but you can create [[Wikipedia:Concave|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.
;<code>[[$maxconvexpieces]] <[[int]]></code>
;<code>$maxconvexpieces <[[int]]></code>
: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.
: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|Introduced with the Orange Box. In the Ep1 engine, run studiomdl with <code>-fullcollide</code> when compiling instead.}}
:{{note|Introduced with the Orange Box. In the Ep1 engine, run studiomdl with <code>-fullcollide</code> when compiling instead.}}
; <code>[[$masscenter]] <X Y Z offset?></code>
; <code>$masscenter <X Y Z offset?></code>
: Override the center of mass, in local coords.  
: Override the center of mass, in local coords.  
; <code>[[$inertia]] <scale?></code>
; <code>$inertia <scale?></code>
: Inertia scale.
: Inertia scale.
; <code>[[$damping]] <scale?></code>
; <code>$damping <scale?></code>
: Linear damping scale.  
: Linear damping scale.  
; <code>[[$rotdamping]] <scale?></code>
; <code>$rotdamping <scale?></code>
: Rotational damping scale.
: Rotational damping scale.
; <code>[[$drag]] <scale?></code>
; <code>$drag <scale?></code>
: Scales air resistance.  
: Scales air resistance.


==See also==
==See also==

Revision as of 12:44, 21 April 2008

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