Reference API Roblox

Engine API

Website

Related

Reference API Roblox

SpringConstraint

Simulates spring and damper behavior between two attachments.

Member index 11

HistoryMember
553Coils: float
553CurrentLength: float
553Damping: float
553FreeLength: float
553LimitsEnabled: bool
553MaxForce: float
553MaxLength: float
553MinLength: float
553Radius: float
553Stiffness: float
553Thickness: float
inherited from Constraint
553Active: bool
553Attachment0: Attachment
553Attachment1: Attachment
553Color: BrickColor
553Enabled: bool
553Visible: bool
604GetDebugAppliedForce(bodyId: int): Vector3
604GetDebugAppliedTorque(bodyId: int): Vector3
inherited from Instance
553Archivable: bool
635Capabilities: SecurityCapabilities
553Name: string
553Parent: Instance
635Sandboxed: bool
616UniqueId: UniqueId
576AddTag(tag: string): null
573ClearAllChildren(): null
462Clone(): Instance
573Destroy(): null
486FindFirstAncestor(name: string): Instance
486FindFirstAncestorOfClass(className: string): Instance
486FindFirstAncestorWhichIsA(className: string): Instance
486FindFirstChild(name: string, recursive: bool = false): Instance
486FindFirstChildOfClass(className: string): Instance
486FindFirstChildWhichIsA(className: string, recursive: bool = false): Instance
486FindFirstDescendant(name: string): Instance
563GetActor(): Actor
486GetAttribute(attribute: string): Variant
462GetAttributeChangedSignal(attribute: string): RBXScriptSignal
631GetAttributes(): Dictionary
486GetChildren(): Objects
462GetDebugId(scopeLength: int = 4): string
486GetDescendants(): Array
486GetFullName(): string
641GetStyled(name: string): Variant
576GetTags(): Array
576HasTag(tag: string): bool
486IsAncestorOf(descendant: Instance): bool
486IsDescendantOf(ancestor: Instance): bool
580IsPropertyModified(name: string): bool
573Remove(): null
576RemoveTag(tag: string): null
580ResetPropertyToDefault(name: string): null
573SetAttribute(attribute: string, value: Variant): null
462WaitForChild(childName: string, timeOut: double): Instance
553children(): Objects
553clone(): Instance
573destroy(): null
553findFirstChild(name: string, recursive: bool = false): Instance
553getChildren(): Objects
553isDescendantOf(ancestor: Instance): bool
573remove(): null
462AncestryChanged(child: Instance, parent: Instance)
462AttributeChanged(attribute: string)
462ChildAdded(child: Instance)
462ChildRemoved(child: Instance)
462DescendantAdded(descendant: Instance)
462DescendantRemoving(descendant: Instance)
500Destroying()
553childAdded(child: Instance)
inherited from Object
647ClassName: string
647className: string
647GetPropertyChangedSignal(property: string): RBXScriptSignal
647IsA(className: string): bool
647isA(className: string): bool
647Changed(property: string)

Description

A SpringConstraint applies a force to its Attachments based on spring and damper behavior. This constraint, along with a CylindricalConstraint, is ideal for building vehicle suspension.

Note that if this constraint attaches one part (A) to another part (B) that is anchored or connected to an anchored part (Z), part A will not be locally simulated when interacting with a player.

When configuring this constraint, it may be helpful to study Roblox Units to understand how Roblox units compare to metric units.

Free Length

FreeLength defines the natural resting length of the spring. If the attachments are further apart than the free length, they are forced together; if the attachments are closer together than the free length, they are forced apart.

Damping

The Damping value controls how fast the spring's oscillation dies down. A value of 0 allows the spring to oscillate endlessly, while higher values bring the spring to a rest more quickly.

Stiffness

Stiffness sets the strength of the spring. Higher values create a spring that responds with more force when its attachments are closer together or further apart than FreeLength.

Limits

Enabling the LimitsEnabled property exposes the MinLength and MaxLength values for setting the minimum and maximum length of the spring. If the spring's attachments reach these limits, they stop moving apart from one another without restitution.

History 48

Members 11

Coils

TypeDefault
float3

The number of coils visualized on the SpringConstraint. This can only be set between 0 and 8.

History 4

CurrentLength

TypeDefault
float0

The current distance between the constraint's Attachments.

This property is not replicated. Its interface does not cross the network boundary.
This property is read-only. Its value can be read, but it cannot be modified.

History 4

Tags: [ReadOnly, NotReplicated]

Damping

TypeDefault
float0

Damping constant for the SpringConstraint. Multiplied to the velocity of the constraint's Attachments to reduce the spring force applied.

History 4

FreeLength

TypeDefault
float1

Natural resting length of the spring.

History 4

LimitsEnabled

TypeDefault
boolfalse

Sets whether the SpringConstraint enforces a minimum and maximum length. If the constraint's Attachments reach these limits, they will simply stop moving apart from one another without restitution. If you need restitution or elasticity at the ends of the range of motion, you can combine a SpringConstraint with another constraint that allows restitution at the end of its range, such as a PrismaticConstraint or RopeConstraint.

History 4

MaxForce

TypeDefault
floatINF

The maximum force the SpringConstraint can apply on its Attachments. Some spring systems can give rise to forces that grow fast leading to instability. In such cases it is recommended to set MaxForce to a reasonable value.

History 4

MaxLength

TypeDefault
float5

The maximum separation the SpringConstraint will allow if LimitsEnabled is true.

History 4

MinLength

TypeDefault
float0

The minimum separation the SpringConstraint will allow if LimitsEnabled is true.

History 4

Radius

TypeDefault
float0.400000006

The visualized radius of the spring's coils.

History 4

Stiffness

TypeDefault
float0

The strength of the spring. The higher this value the more force will be applied when the attachments are separated a different length than the FreeLength.

History 4

Thickness

TypeDefault
float0.100000001

The visualized thickness of the spring's coils.

History 4

Settings