$collisionmodel: Difference between revisions
Jump to navigation
Jump to search
Warning:Collision meshes should have extremely few polygons. See Collision mesh for examples.
Note:For collision meshes modeled in XSI ModTool, ensure that none of the edges are marked as hard edges. Hard edges generate errors in the physbox model.
Tip:Set the Console Variable
(→Options: arguably easier to understand) |
m (updated to include DMX) |
||
Line 5: | Line 5: | ||
{{warning|Collision meshes should have extremely few polygons. See [[Collision mesh]] for examples.}} | {{warning|Collision meshes should have extremely few polygons. See [[Collision mesh]] for examples.}} | ||
{{note|For collision meshes modeled in XSI ModTool, ensure that none of the edges are marked as hard edges. Hard edges generate errors in the physbox | {{note|For collision meshes modeled in XSI ModTool, ensure that none of the edges are marked as hard edges. Hard edges generate errors in the physbox model.}} | ||
{{tip|Set the Console Variable <code>vcollide_wireframe 1</code> to view collision meshes in-game.}} | {{tip|Set the Console Variable <code>vcollide_wireframe 1</code> to view collision meshes in-game.}} | ||
Line 11: | Line 11: | ||
== Syntax == | == Syntax == | ||
$collisionmodel <collision mesh [[Studiomdl Data|SMD]]> | $collisionmodel <collision mesh [[Studiomdl Data|SMD]]/[[DMX|DMX]]> | ||
{ | { | ||
<options> | <options> | ||
Line 23: | Line 23: | ||
: Calculate the mass of the model based on the volume of the collision model and the material defined in its [[Prop Data|prop_data]]. | : Calculate the mass of the model based on the volume of the collision model and the material defined in its [[Prop Data|prop_data]]. | ||
; <code>$concave </code> | ; <code>$concave </code> | ||
: By default, studiomdl will generate a single [[Wikipedia:Convex|convex]] hull by 'shrinkwrapping' any [[Wikipedia:Concave|concavities]]. You can create a [[Wikipedia:Concave|concave]] hull by including multiple convex shapes (potentially overlapping) in your | : By default, studiomdl will generate a single [[Wikipedia:Convex|convex]] hull by 'shrinkwrapping' any [[Wikipedia:Concave|concavities]]. You can create a [[Wikipedia:Concave|concave]] hull by including multiple convex shapes (potentially overlapping) in your collision model, '''smoothing the hulls’ shading''', and passing this command. | ||
;<code>$maxconvexpieces <[[int]]></code> | ;<code>$maxconvexpieces <[[int]]></code> | ||
:By default, the model compiler limits a concave collision model to twenty convex pieces. This command can be used to override the limit if you are creating an [[Costly collision model]]. {{note|Introduced with the Orange Box. In the Ep1 engine, run studiomdl with <code>-fullcollide</code> instead.}} | :By default, the model compiler limits a concave collision model to twenty convex pieces. This command can be used to override the limit if you are creating an [[Costly collision model]]. {{note|Introduced with the Orange Box. In the Ep1 engine, run studiomdl with <code>-fullcollide</code> instead.}} |
Revision as of 20:19, 5 February 2019
The QC command $collisionmodel
is used to embed a static collision mesh in a model, for use in VPhysics calculations. Animated models (including one that will become ragdolls) should use $collisionjoints
instead.



vcollide_wireframe 1
to view collision meshes in-game.Syntax
$collisionmodel <collision mesh SMD/DMX> { <options> }
Options
$mass <float|kilograms>
- Manually set the mass of the model, in kilograms.
Tip:By default, the Player can +USE pick up 35KG max. The gravgun can pick up 250KG max. The portal gun can pick up 85KG max.
$automass
- Calculate the mass of the model based on the volume of the collision model and the material defined in its prop_data.
$concave
- By default, studiomdl will generate a single convex hull by 'shrinkwrapping' any concavities. You can create a concave hull by including multiple convex shapes (potentially overlapping) in your collision model, smoothing the hulls’ shading, and passing this command.
$maxconvexpieces <int>
- By default, the model compiler limits a concave collision model to twenty convex pieces. This command can be used to override the limit if you are creating an Costly collision model.
Note:Introduced with the Orange Box. In the Ep1 engine, run studiomdl with
-fullcollide
instead. $masscenter <vector|offset>
- Override the center of mass, in local coords.
$inertia <normal>
- Inertia scale.
$damping <float>
- Linear damping scale.
$rotdamping <float>
- Rotational damping scale.
Warning:This affects the pull of gravity on the model and if abused can make it appear to float gently through the air. Valve recommends using "friction" instead.
$drag <normal>
- Scales air resistance.
$addconvexsrc <file> "offset pos[ <float> <float> <float> ] angle[ <float> <float> <float> ] scale[ <float> ] concave"
- Adds a convex model onto the collision model with the specified position, angle, and scale. The "concave" option is optional.
Note:It must be formatted EXACTLY like this!
Example
$collisionmodel "tree_deciduous_01a_physbox.smd" { $mass 350.0 $concave }