$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 |
m (→Options) |
||
Line 22: | Line 22: | ||
: 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> | ||
: | : By default StudioMDL will generate a single [[Wikipedia:Convex|convex]] hull by bridging any [[Wikipedia:Concave|concavities]] in a collision model SMD. You can create a [[Wikipedia:Concave|concave]] hull by including multiple, overlapping convex meshes in your SMD, and using the $concave command to tell StudioMDL that you want it to preserve concavities. | ||
;<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. |
Revision as of 07:09, 28 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
- By default StudioMDL will generate a single convex hull by bridging any concavities in a collision model SMD. You can create a concave hull by including multiple, overlapping convex meshes in your SMD, and using the $concave command to tell StudioMDL that you want it to preserve concavities.
$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 }