$collisionmodel: Difference between revisions
Jump to navigation
Jump to search
Tip:Use
Tip:If your model has moving parts that need to collide, including ragdoll limbs, use
Warning:Collision meshes should be extremely low-poly in comparison to body meshes, and even lod meshes. See collision mesh.
TomEdwards (talk | contribs) mNo edit summary |
TomEdwards (talk | contribs) m (→Options) |
||
Line 26: | Line 26: | ||
: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 < | ; <code>$masscenter <[[Vector]]|offset></code> | ||
: Override the center of mass, in local coords. | : Override the center of mass, in local coords. | ||
; <code>$inertia <scale | ; <code>$inertia <[[int]]|scale></code> | ||
: Inertia scale. | : Inertia scale. | ||
; <code>$damping <scale | ; <code>$damping <[[int]]|scale></code> | ||
: Linear damping scale. | : Linear damping scale. | ||
; <code>$rotdamping <scale | ; <code>$rotdamping <[[int]]|scale></code> | ||
: Rotational damping scale. | : Rotational damping scale. | ||
; <code>$drag <scale | ; <code>$drag <[[int]]|scale></code> | ||
: Scales air resistance. | : Scales air resistance. | ||
Revision as of 10:35, 27 April 2008
The QC command $collisionmodel
is used to embed a non-animated collision mesh in a model, for use in VPhysics calculations.

vcollide_wireframe 1
to view collision meshes in-game.
$collisionjoints
.
Usage
$collisionmodel <collision mesh SMD> { <options> }
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 <Vector|offset>
- Override the center of mass, in local coords.
$inertia <int|scale>
- Inertia scale.
$damping <int|scale>
- Linear damping scale.
$rotdamping <int|scale>
- Rotational damping scale.
$drag <int|scale>
- Scales air resistance.
Example
$collisionmodel "tree_deciduous_01a_physbox.smd" { $mass 350.0 $concave }