phys_hinge
From Valve Developer Community
Contents |
This is a point entity available in all Source games. A hinge constraint which restricts rotation of its attached entities to a given axis. The axis is a line between the hinge's origin and the location of its Hammer helper.
The hinge can be given a friction component, which causes it to come to a rest more quickly like an old rusty hinge might.
Example map: sourcesdk_content\hl2\mapsrc\sdk_phys_hinge.vmf
Keyvalues
- hingefriction<float>
- Friction in hinge rotation
- hingeaxis <vecline>
- Define the axis of the hinge by dragging the entity helper in Hammer's 2D views.
- SystemLoadScale <float>
- Scale of the load connected to this hinge (1=just the objects directly connected)
-
To do: What does this do? It doesn't seem to increase precision when heavy objects are attached.
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.
Flags
- 1: No Collision until break
- 4: Start inactive
- 8: Change mass to keep stable attachment to world
- 16: Do not connect entities until turned on
Inputs
- SetAngularVelocity <float>
- Turns the hinge into a motor. Pass a value of 0 to turn it off again. This can be useful to counteract gravity without increasing friction or creating another entity.
TwoObjectPhysics:
- Break
- Force the constraint to break.
- TurnOn
- Enable the constraint; do this if the constrained objects don't exist when it spawns. Note that broken constraints cannot be turned back on as they have been deleted.
- TurnOff
- Disable the constraint.
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.
Outputs
TwoObjectPhysics:
- OnBreak
- Fired when the constraint breaks.
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.
