phys_pulleyconstraint
From Valve Developer Community
This is a point entity available in all Source games.
Contents |
Description
A constraint that is essentially two length constraints and two points. Imagine it as a virtual rope connected to two pulleyed objects, specified in the Entity 1 (attach1) and Entity 2 (attach2) keyvalues, each suspended from a pulley above them.
Pulley point 1 - the pulley from which Entity 1 is always suspended from - is the origin of this constraint entity.
Pulley point 2 - the pulley from which Entity 2 is always suspended from - is the position of the "blue ball", set by altering the Pulley Position 2 (position2) keyvalue directly, or by using the Helper Tool.
The constraint keeps the sum of the distances between the pulley points and their suspended objects constant.
- See also A Counter-weighted Door.
Keyvalues
-
TwoObjectPhysics:
- Entity 1
<targetname> - Entity 2
<targetname> - The entities to constrain. Leave one or the other field blank to constrain to the world.
Note:Only one entity will be constrained, even if several share the given targetname. - Constraint System Manager
<targetname> - A phys_constraintsystem that this constraint should be a part of. This avoids the "jiggling" caused by constraints applied to the same set of entities fighting with each other.
- Force Limit to Break (lbs)
<float> - Impact force required to break the constraint, in pounds. 0 means infinite. A way of calculating this is to set it to the mass of an object that would break the constraint if it were resting on its objects.
- Torque Limit to Break (lbs * distance)
<float> - Torque required to break the constraint, in pounds*inches. 0 means infinite. A way of calculating this is to multiply any reference mass by the resting distance (from the center of mass of the object) needed to break the constraint.
- Play Sound on Break
<string> - A sound played when the constraint is broken.
- Follow teleport distance
<float> - If one constrained object teleports more than this many units away, the other will teleport with it.
Targetname:
- Name <string>
- The targetname other entities refer to this entity by.
- addlength <float>
- Add (or subtract) this amount to the rest length of the pulley rope.
- gearratio <float>
- Add (or subtract) this amount to the rest length of the pulley rope.
- position2 <vecline>
- Pulley Position 2 - The position of the pulley for Entity 2. This point can be set by using the Helper Tool.
Flags
- 1 : No Collision until break
- 2 : Keep Rigid
Inputs
Targetname:
-
Kill - Removes this entity from the world.
-
KillHierarchy - Removes this entity and all its children from the world.
-
AddOutput <string> - Evaluates a keyvalue/output on this entity. It can be potentially very dangerous, use with care.
- Format:
<key> <value> - Format:
<output name> <targetname>:<inputname>:<parameter>:<delay>:<max times to fire, -1 means infinite> -
FireUser1toFireUser4 - Fire the
OnUseroutputs; see User Inputs and Outputs.
- Break
- Force the constraint to break.
- TurnOn
- Enable the constraint. Do this when the objects don't exist when the constraint spawns - or when you have deactivated the constraint. Broken constraints can NOT be turned on. They have been deleted.
- TurnOff
- Disable this constraint.
Outputs
Targetname:
-
OnUser1toOnUser4 - Fired in response to the
FireUserinputs; see User Inputs and Outputs. -
OnKilled(New with Left 4 Dead) - Fired when the entity is killed and removed from the game.
- OnBreak
- Fired when the constraint breaks.
