Reference API Roblox

Engine API

Website

Related

Reference API Roblox

HingeConstraint

Constrains its attachments to rotate about a single axis.

Member index 15

HistoryMember
731ActuatorType: ActuatorType
731AngularResponsiveness: float
731AngularSpeed: float
731AngularVelocity: float
731CurrentAngle: float
731LimitsEnabled: bool
731LowerAngle: float
731MotorMaxAcceleration: float
731MotorMaxTorque: float
731Radius: float
731Restitution: float
731ServoMaxTorque: float
731SoftlockServoUponReachingTarget: bool
731TargetAngle: float
731UpperAngle: float
inherited from Constraint
731Active: bool
731Attachment0: Attachment
731Attachment1: Attachment
731Color: BrickColor
731Enabled: bool
731Visible: bool
604GetDebugAppliedForce(bodyId: int): Vector3
604GetDebugAppliedTorque(bodyId: int): Vector3
inherited from Instance
731Archivable: bool
731Capabilities: SecurityCapabilities
731IsInSandbox: bool
731Name: string
731Parent: Instance
731PredictionMode: PredictionMode
731Sandboxed: bool
731UniqueId: 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
731children(): Instances
731clone(): Instance
731destroy(): null
731findFirstChild(name: string, recursive: bool = false): Instance
731getChildren(): Instances
731isDescendantOf(ancestor: Instance): bool
731remove(): null
462AncestryChanged(child: Instance, parent: Instance)
462AttributeChanged(attribute: string)
462ChildAdded(child: Instance)
462ChildRemoved(child: Instance)
462DescendantAdded(descendant: Instance)
462DescendantRemoving(descendant: Instance)
500Destroying()
657StyledPropertiesChanged()
731childAdded(child: Instance)
inherited from Object
731ClassName: string
731className: string
647GetPropertyChangedSignal(property: string): RBXScriptSignal
647IsA(className: string): bool
731isA(className: string): bool
647Changed(property: string)

Description

A HingeConstraint allows two Attachments to rotate about one axis, constraining the two Attachments so that they both occupy the same position and that their X axes point in the same direction.

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.

Angular Power

Hinges can be configured to actuate rotation. If a hinge's ActuatorType is set to Motor, it attempts to rotate the attachments with the goal of reaching its AngularVelocity. You can further control this rotation through both MotorMaxAcceleration and MotorMaxTorque. If a hinge's ActuatorType is set to Servo, it attempts to rotate to an angle specified by TargetAngle. This rotation is controlled by both AngularSpeed and ServoMaxTorque.

Limits

You can set limits to restrict the rotation of a hinge, useful for mechanisms like doors which should only swing open or closed within a set range. Enabling the LimitsEnabled property exposes the LowerAngle and UpperAngle limits, as well as Restitution which defines the elasticity of the attachments when they reach either limit.

History 93

Members 15

ActuatorType

TypeDefault
ActuatorTypeNone

Sets whether the rotation of the HingeConstraint is actuated and, if so, what kind of actuation.

Note that both actuated and free spinning rotation can be limited by setting LimitsEnabled to true.

History 6

AngularResponsiveness

TypeDefault
float45

This property specifies the sharpness of the servo motor in reaching the TargetAngle, when ActuatorType is set to Servo. Larger values correspond to a faster response and smaller values results in more damping and a slower response.

History 5

AngularSpeed

TypeDefault
float0

The desired angular speed a HingeConstraint with ActuatorType set to Servo will attempt to maintain while rotating towards its TargetAngle. Measured in radians/second.

History 6

AngularVelocity

TypeDefault
float0

The angular velocity a HingeConstraint with ActuatorType set to Motor will attempt to achieve. Measured in radians/second.

History 6

CurrentAngle

TypeDefault
float0

The current angle of the HingeConstraint. This angle is calculated by measuring the angle separation of the Y axes of the 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 6

Tags: [ReadOnly, NotReplicated]

LimitsEnabled

TypeDefault
boolfalse

Sets whether the HingeConstraint will limit the range of rotation. If enabled, the constraint will only allow the CurrentAngle to be between LowerAngle and UpperAngle. If the Attachment reach the end of the limited range of rotation then they will stop rotating. If Restitution is greater than 0 then the attachments will bounce when they hit the ends of the limited range.

History 6

LowerAngle

TypeDefault
float-45

The minimum rotation angle the HingeConstraint will allow if LimitsEnabled is true. Measured in degrees.

History 6

MotorMaxAcceleration

TypeDefault
float500000

The maximum angular acceleration a HingeConstraint with ActuatorType set to Motor can apply to achieve its AngularVelocity. Measured in radians/second².

History 7

MotorMaxTorque

TypeDefault
float0

The maximum torque a HingeConstraint with ActuatorType set to Motor can apply when trying to reach its desired AngularVelocity.

History 6

Radius

TypeDefault
float0.150000006

The visualized radius of the HingeConstraint.

History 6

Restitution

TypeDefault
float0

How elastic Attachment connected by a HingeConstraint will be when they reach the end of the range when LimitsEnabled is true. Constrained between 0 and 1.

History 6

ServoMaxTorque

TypeDefault
float0

The maximum torque a HingeConstraint with ActuatorType set to Servo can apply when trying to reach its desired TargetAngle.

History 6

SoftlockServoUponReachingTarget

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

History 4

Tags: [Deprecated]

TargetAngle

TypeDefault
float0

The target angle a HingeConstraint will attempt to rotate to if its ActuatorType is set to Servo. Measured in degrees.

History 6

UpperAngle

TypeDefault
float45

The maximum rotation angle the HingeConstraint will allow if LimitsEnabled is true. Measured in degrees.

History 6

Settings