Reference API Roblox

Engine API

Website

Related

Reference API Roblox

SlidingBallConstraint

The base class for constraints that allow their attachments to slide along an axis but not rotate.

This class is not creatable. Instances of this class cannot be created with Instance.new.
Tags: [NotCreatable]

Member index 15

HistoryMember
726ActuatorType: ActuatorType
726CurrentPosition: float
726LimitsEnabled: bool
726LinearResponsiveness: float
726LowerLimit: float
726MotorMaxAcceleration: float
726MotorMaxForce: float
726Restitution: float
726ServoMaxForce: float
726Size: float
726SoftlockServoUponReachingTarget: bool
726Speed: float
726TargetPosition: float
726UpperLimit: float
726Velocity: float
inherited from Constraint
726Active: bool
726Attachment0: Attachment
726Attachment1: Attachment
726Color: BrickColor
726Enabled: bool
726Visible: bool
604GetDebugAppliedForce(bodyId: int): Vector3
604GetDebugAppliedTorque(bodyId: int): Vector3
inherited from Instance
726Archivable: bool
726Capabilities: SecurityCapabilities
726IsInSandbox: bool
726Name: string
726Parent: Instance
726PredictionMode: PredictionMode
726Sandboxed: bool
726UniqueId: 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
707GetDescendants(): Instances
486GetFullName(): string
706GetStyled(name: string, selector: string?): Variant
657GetStyledPropertyChangedSignal(property: string): RBXScriptSignal
576GetTags(): Array
576HasTag(tag: string): bool
486IsAncestorOf(descendant: Instance): bool
486IsDescendantOf(ancestor: Instance): bool
664IsPropertyModified(property: string): bool
698QueryDescendants(selector: string): Instances
573Remove(): null
576RemoveTag(tag: string): null
664ResetPropertyToDefault(property: string): null
573SetAttribute(attribute: string, value: Variant): null
462WaitForChild(childName: string, timeOut: double): Instance
726children(): Instances
726clone(): Instance
726destroy(): null
726findFirstChild(name: string, recursive: bool = false): Instance
726getChildren(): Instances
726isDescendantOf(ancestor: Instance): bool
726remove(): null
462AncestryChanged(child: Instance, parent: Instance)
462AttributeChanged(attribute: string)
462ChildAdded(child: Instance)
462ChildRemoved(child: Instance)
462DescendantAdded(descendant: Instance)
462DescendantRemoving(descendant: Instance)
500Destroying()
657StyledPropertiesChanged()
726childAdded(child: Instance)
inherited from Object
726ClassName: string
726className: string
647GetPropertyChangedSignal(property: string): RBXScriptSignal
647IsA(className: string): bool
726isA(className: string): bool
647Changed(property: string)

Description

SlidingBallConstraint is the base class for constraints that allow their attachments to slide along an axis but not rotate, including PrismaticConstraint and CylindricalConstraint. This constrains the attachments so that their X axes are collinear but pointing in opposite directions. It also constrains the attachments so that their Y axes are parallel.

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

Linear Power

If this constraint's ActuatorType is set to Motor, it attempts to translate the attachments with the goal of reaching Velocity. You can further control this translation through both MotorMaxAcceleration and MotorMaxForce.

If this constraint's ActuatorType is set to Servo, it attempts to translate the attachments to a set separation specified by TargetPosition. This translation is controlled by Speed, LinearResponsiveness, and ServoMaxForce.

Limits

You can set limits to restrict this constraint's sliding range. Enabling the LimitsEnabled property exposes the LowerLimit and UpperLimit values, as well as Restitution which defines the elasticity of the attachments when they reach either limit.

History 77

Members 15

ActuatorType

TypeDefault
ActuatorType

Sets whether the translation of the SlidingBallConstraint is actuated and, if so, what kind of actuation.

History 5

CurrentPosition

TypeDefault
float

The current offset 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 5

Tags: [ReadOnly, NotReplicated]

LimitsEnabled

TypeDefault
bool

Sets whether the SlidingBallConstraint will limit the range of translation. If true, this property exposes the LowerLimit and UpperLimit values, as well as Restitution which defines the elasticity of the attachments when they reach either limit.

History 5

LinearResponsiveness

TypeDefault
float

Specifies the "sharpness" of the linear servo motor in reaching the TargetPosition when the derived classes' actuator type is set to Servo. Larger values correspond to faster a response and smaller values results in more damping and a slower response.

History 4

LowerLimit

TypeDefault
float

The lower positional limit along the X axis of Attachment0 if LimitsEnabled is true.

History 5

MotorMaxAcceleration

TypeDefault
float

The constraint's maximum acceleration when ActuatorType is set to Motor, as the constraint attempts to reach its desired Velocity.

History 5

MotorMaxForce

TypeDefault
float

The constraint's maximum force when ActuatorType is set to Motor, as the constraint attempts to reach its desired Velocity.

History 5

Restitution

TypeDefault
float

The elasticity of the constraint's Attachments when they reach the end of the range specified by UpperLimit and LowerLimit, assuming LimitsEnabled is set to true. The valid range is between 0–1.

History 5

ServoMaxForce

TypeDefault
float

The constraint's maximum force when ActuatorType is set to Servo, as the constraint attempts to reach its desired Speed.

History 5

Size

TypeDefault
float

The constraint's visualized size.

History 5

  • 726 Change Default of Size from to
  • 553 Change Default of Size from to
  • 486 Change ThreadSafety of Size from ReadOnly to ReadSafe
  • 462 Change ThreadSafety of Size from to ReadOnly
  • 261 Add Size

SoftlockServoUponReachingTarget

TypeDefault
bool
This property is deprecated. It exists only for backward compatibility, and should not be used for new work.

History 3

Tags: [Deprecated]

Speed

TypeDefault
float

The constraint's desired speed when ActuatorType is set to Servo, as the constraint translates towards its TargetPosition. Measured in studs per second.

History 5

TargetPosition

TypeDefault
float

The constraint's attempted target position when ActuatorType is set to Servo Measured in studs.

History 5

UpperLimit

TypeDefault
float

The upper positional limit along the X axis of Attachment0 if LimitsEnabled is true.

History 5

Velocity

TypeDefault
float

The constraint's attempted velocity when ActuatorType is set to Motor. Measured in studs per second.

History 5

Settings