Reference API Roblox

Engine API

Website

Related

Reference API Roblox

LineForce

Applies a force along the theoretical line connecting its two Attachments.

Member index 5

HistoryMember
553ApplyAtCenterOfMass: bool
553InverseSquareLaw: bool
553Magnitude: float
553MaxForce: float
553ReactionForceEnabled: bool
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
648GetChildren(): Instances
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
648children(): Instances
553clone(): Instance
573destroy(): null
553findFirstChild(name: string, recursive: bool = false): Instance
648getChildren(): Instances
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
650isA(className: string): bool
647Changed(property: string)

Description

The LineForce constraint applies a force along the theoretical line connecting its two Attachments. As the end points (attachments) move, the direction of force will change accordingly.

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

Force Location

By default, force is applied to either parent at its attachment location. If desired, force can be focused at each parent's center of mass by enabling ApplyAtCenterOfMass.

Inverse Square Law

When InverseSquareLaw is true, the force magnitude is multiplied by the inverse square of the distance, meaning the force will increase exponentially as the two attachments get closer together, like magnets. When using this setting, it's recommended that you set a MaxForce threshold to prevent infinite force if the attachments align precisely.

Reactionary Force

By default, the constraint only applies force to Attachment0, while Attachment1 remains unaffected. However, force can be applied to both attachments in equal and opposite directions by enabling ReactionForceEnabled.

History 24

Members 5

ApplyAtCenterOfMass

TypeDefault
boolfalse

When true, force is applied at the center of mass of the parent assembly of Attachment0, and the line determining the direction of the force will start at the said center of mass. When false, force is applied at Attachment0 and the line determining the direction will also start at Attachment0.

History 4

InverseSquareLaw

TypeDefault
boolfalse

When true, the force magnitude is multiplied by the inverse square of the distance.

History 4

Magnitude

TypeDefault
float1000

The magnitude of the force.

History 4

MaxForce

TypeDefault
floatINF

The maximum absolute force that can be applied. This property is enabled only when InverseSquareLaw is also enabled. This property is mainly used to address the issue that the force of the body mover becomes infinite the closer the two attachments are, causing explosions that can't be prevented by scripts. This property bounds the force's absolute value.

History 4

ReactionForceEnabled

TypeDefault
boolfalse

Enables a reaction force (equal an opposite) to be applied to the parent of Attachment1. By default line force only applies a force on the parent of Attachment0 and uses Attachment1 as the target direction without any dynamic relationship.

History 4

Settings