phys_genericconstraint
Jump to navigation
Jump to search
phys_genericconstraint
is a point entity available in all Source 2 games. It is a configurable constraint between two objects.
Keyvalues
- Name (targetname) <string>
- The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g.
parentname
ortarget
).
Also displayed in Hammer's 2D views and Entity Report.See also: Generic Keyvalues, Inputs and Outputs available to all entities
- Linear Motion X (linear_motion_x) to (linear_motion_z) <choices>
Value Description JOINT_MOTION_FREE
Free motion JOINT_MOTION_LOCKED
Locked motion
- Spring frequency (stiffness) (linear_frequency_x) to (linear_frequency_z) <float>
- Spring damping ratio (linear_damping_ratio_x) to (linear_damping_ratio_z) <float>
- 0 for no damping and 1 for critical damping
- Impulse Limit to Break (kg) (forcelimit_x) to (forcelimit_z) <float>
- The amount of impulse an impact must apply to the constraint to break it. A way of calculating this is to set it to the mass of an object that would break this constraint if it were resting on the constrainted objects.
- Notify when X force reaches (notifyforce_x) to (notifyforce_z) <float>
- Minimum time between event firing X event (0 disables firing) (notifyforcemintime_x) to (notifyforcemintime_z) <float>
- Break after time at threshold on X (time) (breakaftertime_x) to (breakaftertime_z) <float>
- Break after time threshold on X (threshold) (breakaftertimethreshold_x) to (breakaftertimethreshold_z) <float>
- Angular Motion X (angular_motion_x) to (angular_motion_z) <choices>
Value Description JOINT_MOTION_FREE
Free motion JOINT_MOTION_LOCKED
Locked motion
- Spring frequency (stiffness) (angular_frequency_x) to (angular_frequency_z) <float>
- Spring damping ratio (angular_damping_ratio_x) to (angular_damping_ratio_z) <float>
- 0 for no damping and 1 for critical damping
- Angular Impulse Limit to Break (kg * distance) (torquelimit_x) to (torquelimit_z) <float>
- The amount of angular impulse required to break the constraint. 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.
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.
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
- NotifyForceReachedX to NotifyForceReachedZ
- The requested force has been reached on the X/Y/Z axis. Won't fire if force min time is zero.
TwoObjectPhysics:
- OnBreak
- Fired when the constraint breaks.