$collisionmodel: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
No edit summary
Line 23: Line 23:
: 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 SMD and passing this command.
: 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 SMD 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 unusually large model. {{note|Introduced with the Orange Box. In the Ep1 engine, run studiomdl with <code>-fullcollide</code> <i>(see below)</i> 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.}}
; <code>$masscenter <[[vector]]|offset></code>
; <code>$masscenter <[[vector]]|offset></code>
: Override the center of mass, in local coords.
: Override the center of mass, in local coords.
Line 42: Line 42:
  $concave
  $concave
  }
  }
== -Fullcollide in ep1 via batch file ==
Open a text editor and copy and paste the following code in
:<code><i>@echo on
:cd "%sourcesdk%\bin\ep1\bin\"
:studiomdl.exe -fullcollide %1
:@pause</i></code>
Save the text file, for example, as fullcollide.bat (make sure it's really a .bat file and not a .txt file)
After that, place fullcollide.bat into the same folder as your .qc file and drag and drop the .qc file onto the batch file, truncating will be disabled now.


==See also==
==See also==
Line 61: Line 48:
*[[Physics and Ragdolls]]
*[[Physics and Ragdolls]]
*[[$collisionjoints]]
*[[$collisionjoints]]
*[[Costly collision model]]


[[Category:QC Commands|collisionmodel]]
[[Category:QC Commands|collisionmodel]]

Revision as of 04:25, 7 June 2009

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.

Warning.pngWarning:Collision meshes should have extremely few polygons. See Collision mesh for examples.
Tip.pngTip:Set the Console Variable vcollide_wireframe 1 to view collision meshes in-game.

Syntax

$collisionmodel	<collision mesh SMD>
{
	<options>
}

Options

$mass <float|kilograms>
Manually set the mass of the model, in kilograms.
Tip.pngTip:By default, the Player can +USE pick up 35KG max. The gravgun can pick up 250KG 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 SMD 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.pngNote: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 <float|scale>
Inertia scale.
$damping <float|scale>
Linear damping scale.
$rotdamping <float|scale>
Rotational damping scale.
$drag <float|scale>
Scales air resistance.

Example

$collisionmodel "tree_deciduous_01a_physbox.smd"
{
	$mass 350.0
	$concave
}

See also