Moderator elections are being held. See Valve Developer Community:Moderator elections for more details.
Users who would like to run for moderator must be autoconfirmed and have at least 100 edits. Users can check their own edit count at Special:Preferences.
The Message template has been deleted. A list of pages that transclude it are at Valve Developer Community:Message transclusions.
This article's documentation is for anything that uses the Source engine. Click here for more information.

phys_constraintsystem

From Valve Developer Community
Jump to: navigation, search
class hierarchy
CPhysConstraintSystem defined in physconstraint.cpp
CLogicalEntity
CServerOnlyEntity
CBaseEntity

phys_constraintsystem is a point entity available in all Source Source games. If you have a collection of objects connected by constraints, you may encounter vibration or jiggling. This is because each constraint is solved without regard for any others until you introduce a phys_constraintsystem.

To implement a phys_constraintsystem create one and give it a name, then select the constraints you want to group together and set it as their "Constraint System Manager".

A constraintsystem also allows you to control the number of iterations performed on the constraints, allowing you to allocate more CPU to get the solution tighter. This will help when objects of dissimilar mass are connected, as if a large-mass object is in violation of the constraint it will take more iterations for it to move to a non-violating position/orientation. Ragdolls create a constraint system internally to solve these issues.

Keyvalues

Additional System Iterations (additionaliterations) <integer>
Adding iterations makes the interactions among constraints in a system tighter. It will not compensate for errors due to collision, but will help in cases where objects of disparate mass are constrained to each other.

Targetname:

Name (targetname) <string>
The targetname that other entities refer to this entity by.