$collisionmodel: Difference between revisions
Jump to navigation
Jump to search
Note:If your model has moving parts that may affect collisions, such as ragdoll limbs, use
Note:Collision meshes should be extremely lo-poly in comparison to body meshes, and even lod meshes. See collision mesh.
Tip:Set the Console Variable
mNo edit summary |
TomEdwards (talk | contribs) (→Options: there's no excuse for overly complex collision models) |
||
| Line 23: | Line 23: | ||
: By default StudioMDL will generate a single [[Wikipedia:Convex|convex]] hull by bridging any [[Wikipedia:Concave|concavities]] in a collision 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 to preserve concavities by using multiple convex pieces. The resulting hull structure is a bit like a ''Rigid'' [[$collisionjoints|ragdoll]]. | : By default StudioMDL will generate a single [[Wikipedia:Convex|convex]] hull by bridging any [[Wikipedia:Concave|concavities]] in a collision 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 to preserve concavities by using multiple convex pieces. The resulting hull structure is a bit like a ''Rigid'' [[$collisionjoints|ragdoll]]. | ||
;<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 | :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 <[[vector]]|offset></code> | ; <code>$masscenter <[[vector]]|offset></code> | ||
Revision as of 08:05, 28 April 2008
The QC command $collisionmodel is used to embed a non-animated collision mesh in a model, for use in VPhysics calculations.
$collisionjoints instead.vcollide_wireframe 1 to view collision meshes in-game.Usage
$collisionmodel "<collision mesh SMD>.smd" { <options> }
Options
$mass <float|kilograms>- Manually set the mass of the model.
$automass- Tells StudioMDL to calculate the mass of the model (based on the volume of the collision SMD and the density/thickness of the material defined in its prop_data).
$concave- By default StudioMDL 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 using the $concave command to tell StudioMDL to preserve concavities by using multiple convex pieces. The resulting hull structure is a bit like a Rigid ragdoll.
$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 -fullcollidewhen 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
}