Phys constraint: Difference between revisions
Jump to navigation
Jump to search
m (Added info about the weird interactions of phys ents with trains.) |
No edit summary |
||
Line 5: | Line 5: | ||
==Entity Description== | ==Entity Description== | ||
It forces one entity to keep its position in relation to another. The two objects need not be touching, or even near to each other. | It forces one entity to keep its position in relation to another. The two objects need not be touching, or even near to each other. | ||
If a phys_constraint is attached to a func_train, it will not hold. Instead, parent a func_brush to the train and attach the phys_constraint to that. | If a phys_constraint is attached to a func_train, it will not hold. Instead, parent a func_brush to the train and attach the phys_constraint to that. | ||
Revision as of 16:52, 10 June 2017
Entity Description
It forces one entity to keep its position in relation to another. The two objects need not be touching, or even near to each other.
If a phys_constraint is attached to a func_train, it will not hold. Instead, parent a func_brush to the train and attach the phys_constraint to that.
Keyvalues
TwoObjectPhysics:
- Entity 1 (attach1) <targetname>
- Entity 2 (attach2) <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 (constraintsystem) <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 (forcelimit) <float>
- Impact force required to break the constraint, in pounds. 0 means infinite. A way of calculating this is to set it to the weight of an object that would break the constraint if it were resting on its objects.
- Torque Limit to Break (torquelimit) <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 (breaksound) <string>
- A sound played when the constraint is broken.
- Follow teleport distance (teleportfollowdistance) <float>
- If one constrained object teleports more than this many units away, the other will teleport with it.
Flags
- No Collision until break : [1]
- Start inactive : [4]
- Change mass to keep stable attachment to world : [8]
- Do not connect entities until turned on : [16]
Inputs
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.
Outputs
TwoObjectPhysics:
- OnBreak
- Fired when the constraint breaks.