Damping
Reduces linear and angular motion over time.
Damping is applied through a body's motion properties. Linear damping affects translational velocity; angular damping affects rotational velocity.
High-Level API#
body.set_linear_damping(value)
body.get_linear_damping()
body.set_angular_damping(value)
body.get_angular_damping()Range and defaults#
| Property | Default | Valid value |
|---|---|---|
| linear_damping | 0.05 | Finite Real >= 0 |
| angular_damping | 0.05 | Finite Real >= 0 |
The wrapper imposes no upper maximum. A value of 0 disables that damping contribution. Very large values can remove motion rapidly and may make control feel unresponsive.
Motion-type restrictions#
Damping requires motion properties. Dynamic and Kinematic bodies have them; Static bodies do not. A failed setter returns false and a failed getter returns undefined.
Example#
var body = jolt_box_create_dynamic(0, 0, 5, 1, 1, 1, {
mass: 2,
linear_damping: 0.15,
angular_damping: 0.4
});
body.set_angular_damping(0.8);Low-Level / Advanced API#
Setters return true on success and false on invalid input, an invalid or stale body, or an unsupported motion type. Getters return the requested value or undefined when the operation fails. Inspect jolt_get_error() for the high-level error.
Verified operation contracts#
These contracts distinguish units, return values, errors and lifetime according to the current implementation. Check results: false, 0 and undefined can mean different things for different methods.
| Symbol / owner | Signature | Operation contract |
|---|---|---|
| JoltBody.get_angular_damping | JoltBody.get_angular_damping() | Finite nonnegative damping; setter Boolean, getter number or undefined. |
| JoltBody.get_linear_damping | JoltBody.get_linear_damping() | Finite nonnegative damping; setter Boolean, getter number or undefined. |
| JoltBody.set_angular_damping | JoltBody.set_angular_damping(value) | Finite nonnegative damping; setter Boolean, getter number or undefined. |
| JoltBody.set_linear_damping | JoltBody.set_linear_damping(value) | Finite nonnegative damping; setter Boolean, getter number or undefined. |