$collisionmodel: Difference between revisions
Jump to navigation
Jump to search
Note:Jointed collision models use
mNo edit summary |
TomEdwards (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
The [[QC command]] [[$collisionmodel]] is used to | The [[QC command]] <code>[[$collisionmodel]]</code> is used to generate a [[collision model]]. | ||
{{note|[[Jointed collision model]]s use <code>[[$collisionjoints]]</code>.}} | |||
== Example Syntax== | == Example Syntax== | ||
[[$collisionmodel]] "tree_deciduous_01a_physbox.smd" | [[$collisionmodel]] "tree_deciduous_01a_physbox.smd" | ||
{ | { | ||
Line 11: | Line 10: | ||
[[$concave]] | [[$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== | ==Options== | ||
; [[$mass]] <kilograms> | ; <code>[[$mass]] <[[float]]|kilograms></code> | ||
: Manually set the mass | : Manually set the mass of the model. | ||
: | :{{todo|Presumably this has some use outside physics simulation?}} | ||
; <code>[[$automass]] </code> | |||
; [[$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|prop_data]], as well as the volume of the collision SMD itself. | ||
: Automatically compute the mass of the model. | ; <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. | |||
;<code>[[$maxconvexpieces]] <[[int]]></code> | |||
; [[$masscenter]] <X Y Z offset?> | :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.}} | |||
; <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> | |||
; [[$inertia]] <scale?> | |||
: Inertia scale. | : Inertia scale. | ||
; <code>[[$damping]] <scale?></code> | |||
; [[$damping]] <scale?> | |||
: Linear damping scale. | : Linear damping scale. | ||
; <code>[[$rotdamping]] <scale?></code> | |||
; [[$rotdamping]] <scale?> | |||
: Rotational damping scale. | : Rotational damping scale. | ||
; <code>[[$drag]] <scale?></code> | |||
: Scales air resistance. | |||
==See also== | |||
*[[NPC Hull]] | |||
*[[Physics and Ragdolls]] | |||
*[[$collisionjoints]] | |||
[[Category:QC Commands]] | [[Category:QC Commands]] |
Revision as of 12:42, 21 April 2008
The QC command $collisionmodel
is used to generate a collision model.

$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: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.