API:Class/HingeConstraint

Warning:When using Constraints, the PGS Physics Solver must be enabled.


ExplorerImageIndex87.pngHingeConstraint : Object Icon.pngConstraint : Object Icon.pngInstance

A hinge allows two Attachments to rotate about one axis. A HingeConstraint constrains its two attachments so that they both occupy the same position and that their x-axes point in the same direction. The constraint allows the attachments to rotate about their x-axes.

Hinges can also be configured to actuate rotation. If ActuatorType is set to Motor, then the hinge will attempt to rotate the attachments with the goal of reaching AngularVelocity. This rotation is limited by both MotorMaxAcceleration and MotorMaxTorque.

If ActuatorType is set to Servo, then the hinge will attempt to rotate to an angle specified by TargetAngle. This rotation is limited by both AngularSpeed and ServoMaxTorque.

Both actuated and free spinning rotation using a HingeConstraint can be limited by setting LimitsEnabled to true.

Properties

PropertiesmemberhiddenProperties [toggle]

ActuatorTypeActuatorType

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

|RMD member="API:Class/HingeConstraint/ActuatorType"|Sets whether the rotation of the HingeConstraint is actuated and, if so, what kind of actuation.|/RMD|
floatAngularSpeed

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

|RMD member="API:Class/HingeConstraint/AngularSpeed"|The desired angular speed a HingeConstraint with ActuatorType set to Servo will attempt to maintain while rotating towards its TargetAngle. Measured in radians/second.|/RMD|
floatAngularVelocity

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

|RMD member="API:Class/HingeConstraint/AngularVelocity"|The angular velocity a HingeConstraint with ActuatorType set to Motor will attempt to achieve. Measured in radians/second.|/RMD|
floatCurrentAngle [readonly]

The current angle of the HingeConstraint.

|RMD member="API:Class/HingeConstraint/CurrentAngle"|The current angle of the HingeConstraint.|/RMD|
boolLimitsEnabled

Sets whether the HingeConstraint will limit the range of rotation.

|RMD member="API:Class/HingeConstraint/LimitsEnabled"|Sets whether the HingeConstraint will limit the range of rotation.|/RMD|
floatLowerAngle

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

|RMD member="API:Class/HingeConstraint/LowerAngle"|The minimum rotation angle the HingeConstraint will allow if LimitsEnabled is true.|/RMD|
floatMotorMaxAcceleration

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

|RMD member="API:Class/HingeConstraint/MotorMaxAcceleration"|The maximum angular acceleration a HingeConstraint with ActuatorType set to Motor can apply to achieve its AngularVelocity. Measured in radians/(second squared).|/RMD|
floatMotorMaxTorque

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

|RMD member="API:Class/HingeConstraint/MotorMaxTorque"|The maximum torque a HingeConstraint with ActuatorType set to Motor can apply when trying to reach its desired AngularVelocity.|/RMD|
floatRadius

The visualized radius of the HingeConstraint.

|RMD member="API:Class/HingeConstraint/Radius"|The visualized radius of the HingeConstraint.|/RMD|
floatRestitution

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

|RMD member="API:Class/HingeConstraint/Restitution"|How elastic Attachments connected by a HingeConstraint will be when they reach the end of the range when LimitsEnabled is true. Constrained between 0 and 1.|/RMD|
floatServoMaxTorque

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

|RMD member="API:Class/HingeConstraint/ServoMaxTorque"|The maximum torque a HingeConstraint with ActuatorType set to Servo can apply when trying to reach its desired TargetAngle.|/RMD|
floatTargetAngle

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

|RMD member="API:Class/HingeConstraint/TargetAngle"|The target angle a HingeConstraint will attempt to rotate to if its ActuatorType is set to Servo. Measured in degrees.|/RMD|
floatUpperAngle

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

|RMD member="API:Class/HingeConstraint/UpperAngle"|The maximum rotation angle the HingeConstraint will allow if LimitsEnabled is true.|/RMD|
Sets whether the rotation of the HingeConstraint is actuated and, if so, what kind of actuation.
The desired angular speed a HingeConstraint with ActuatorType set to Servo will attempt to maintain while rotating towards its TargetAngle. Measured in radians/second.
The angular velocity a HingeConstraint with ActuatorType set to Motor will attempt to achieve. Measured in radians/second.
CurrentAngle [readonly]
The current angle of the HingeConstraint.
Sets whether the HingeConstraint will limit the range of rotation.
The minimum rotation angle the HingeConstraint will allow if LimitsEnabled is true.
The maximum angular acceleration a HingeConstraint with ActuatorType set to Motor can apply to achieve its AngularVelocity. Measured in radians/(second squared).
The maximum torque a HingeConstraint with ActuatorType set to Motor can apply when trying to reach its desired AngularVelocity.
The visualized radius of the HingeConstraint.
How elastic Attachments connected by a HingeConstraint will be when they reach the end of the range when LimitsEnabled is true. Constrained between 0 and 1.
The maximum torque a HingeConstraint with ActuatorType set to Servo can apply when trying to reach its desired TargetAngle.
The target angle a HingeConstraint will attempt to rotate to if its ActuatorType is set to Servo. Measured in degrees.
The maximum rotation angle the HingeConstraint will allow if LimitsEnabled is true.
Inherited from Object Icon.pngConstraint:
Ref<Attachment>Attachment0

The ExplorerImageIndex81.pngAttachment that is connected to Attachment1.

|RMD member="API:Class/Constraint/Attachment0"|The ExplorerImageIndex81.pngAttachment that is connected to Attachment1.|/RMD|
Ref<Attachment>Attachment1

The ExplorerImageIndex81.pngAttachment that is connected to Attachment0.

|RMD member="API:Class/Constraint/Attachment1"|The ExplorerImageIndex81.pngAttachment that is connected to Attachment0.|/RMD|
BrickColorColor

The color of the constraint.

|RMD member="API:Class/Constraint/Color"|The color of the constraint.|/RMD|
boolEnabled

Toggles whether or not this Constraint is enabled.

|RMD member="API:Class/Constraint/Enabled"|Toggles whether or not this Constraint is enabled.|/RMD|
boolVisible

Toggles the visibility of this Constraint.

|RMD member="API:Class/Constraint/Visible"|Toggles the visibility of this Constraint.|/RMD|
The ExplorerImageIndex81.pngAttachment that is connected to Attachment1.
The ExplorerImageIndex81.pngAttachment that is connected to Attachment0.
The color of the constraint.
Toggles whether or not this Constraint is enabled.
Toggles the visibility of this Constraint.
Inherited from Object Icon.pngInstance:
boolArchivable

Determines if an object can be Clone or saved to file.

|RMD member="API:Class/Instance/Archivable"|Determines if an object can be Clone or saved to file.|/RMD|
stringClassName [readonly]

The unique name of this type of Instance.

|RMD member="API:Class/Instance/ClassName"|The unique name of this type of Instance.|/RMD|
stringName

A non-unique identifier for the object.

|RMD member="API:Class/Instance/Name"|A non-unique identifier for the object.|/RMD|
Ref<Instance>Parent

The hierarchical parent of the object.

|RMD member="API:Class/Instance/Parent"|The hierarchical parent of the object.|/RMD|
intDataCost [LocalUserSecurity] [deprecated] [readonly]

Deprecated. Do not use.

|RMD member="API:Class/Instance/DataCost"|Deprecated. Do not use.|/RMD|
boolRobloxLocked [PluginSecurity]

If true, the object and its descendants cannot be indexed or edited by a Script or LocalScript and will throw an error if it is attempted.

|RMD member="API:Class/Instance/RobloxLocked"|If true, the object and its descendants cannot be indexed or edited by a Script or LocalScript and will throw an error if it is attempted.|/RMD|
boolarchivable [deprecated] [hidden]

Deprecated in favor of Archivable.

|RMD member="API:Class/Instance/archivable"|Deprecated in favor of Archivable.|/RMD|
stringclassName [deprecated] [readonly]

Deprecated in favor of ClassName.

|RMD member="API:Class/Instance/className"|Deprecated in favor of ClassName.|/RMD|
Determines if an object can be Clone or saved to file.
ClassName [readonly]
The unique name of this type of Instance.
A non-unique identifier for the object.
The hierarchical parent of the object.
DataCost [LocalUserSecurity] [deprecated] [readonly]
Deprecated. Do not use.
RobloxLocked [PluginSecurity]
If true, the object and its descendants cannot be indexed or edited by a Script or LocalScript and will throw an error if it is attempted.
archivable [deprecated] [hidden]
Deprecated in favor of Archivable.
className [deprecated] [readonly]
Deprecated in favor of ClassName.

Functions

FunctionsmemberhiddenFunctions [toggle]

Inherited from Object Icon.pngInstance:
voidClearAllChildren ( )

Removes all descendants of the object.

|RMD member="API:Class/Instance/ClearAllChildren"|Removes all descendants of the object.|/RMD|
Ref<Instance>Clone ( )

Returns a copy of the object, including descendants, but only if the object is Archivable.

|RMD member="API:Class/Instance/Clone"|Returns a copy of the object, including descendants, but only if the object is Archivable.|/RMD|
voidDestroy ( )

Sets the Parent property to nil, locks the Parent property, disconnects all connections and calls Destroy() on all children.

|RMD member="API:Class/Instance/Destroy"|Sets the Parent property to nil, locks the Parent property, disconnects all connections and calls Destroy() on all children.|/RMD|
Ref<Instance>FindFirstAncestor ( string name )

Returns the first ancestor whose Name is equal to name, or nil if none can be found.

|RMD member="API:Class/Instance/FindFirstAncestor"|Returns the first ancestor whose Name is equal to name, or nil if none can be found.|/RMD|
Ref<Instance>FindFirstAncestorOfClass ( string className )

Returns the first ancestor whose ClassName is equal to className, or nil if none can be found.

|RMD member="API:Class/Instance/FindFirstAncestorOfClass"|Returns the first ancestor whose ClassName is equal to className, or nil if none can be found.|/RMD|
Ref<Instance>FindFirstAncestorWhichIsA ( string className )

Returns the first ancestor that inherits the class className, or nil if none can be found.

|RMD member="API:Class/Instance/FindFirstAncestorWhichIsA"|Returns the first ancestor that inherits the class className, or nil if none can be found.|/RMD|
Ref<Instance>FindFirstChild ( string name, bool recursive = false )

Returns the first child found with the given name, or nil if no such child exists. If the optional recursive argument is true, recursively descends the hierarchy while searching rather than only searching the immediate object.

|RMD member="API:Class/Instance/FindFirstChild"|Returns the first child found with the given name, or nil if no such child exists. If the optional recursive argument is true, recursively descends the hierarchy while searching rather than only searching the immediate object.|/RMD|
Ref<Instance>FindFirstChildOfClass ( string className )

Returns the first Instance whose ClassName is equal to className, or nil, if no such object is found with that ClassName.

|RMD member="API:Class/Instance/FindFirstChildOfClass"|Returns the first Instance whose ClassName is equal to className, or nil, if no such object is found with that ClassName.|/RMD|
Ref<Instance>FindFirstChildWhichIsA ( string className, bool recursive = false )

Returns the first child that inherits the class className, or nil if none can be found.

|RMD member="API:Class/Instance/FindFirstChildWhichIsA"|Returns the first child that inherits the class className, or nil if none can be found.|/RMD|
array<Instance>GetChildren ( )

Returns an array of the object's children.

|RMD member="API:Class/Instance/GetChildren"|Returns an array of the object's children.|/RMD|
array<Instance>GetDescendants ( )

Returns an array containing all of the descendants of the instance.

|RMD member="API:Class/Instance/GetDescendants"|Returns an array containing all of the descendants of the instance.|/RMD|
stringGetFullName ( )

Returns a string which shows the object's ancestry chain.

|RMD member="API:Class/Instance/GetFullName"|Returns a string which shows the object's ancestry chain.|/RMD|
RBXScriptSignalGetPropertyChangedSignal ( string property )

Returns a signal that is fired when the specified property is changed on this object.

|RMD member="API:Class/Instance/GetPropertyChangedSignal"|Returns a signal that is fired when the specified property is changed on this object.|/RMD|
boolIsA ( string className )

Returns true if the object is an instance of the given class, or if the object's class inherits from the given class.

|RMD member="API:Class/Instance/IsA"|Returns true if the object is an instance of the given class, or if the object's class inherits from the given class.|/RMD|
boolIsAncestorOf ( Instance descendant )

Returns true if the object is an ancestor of the given descendant.

|RMD member="API:Class/Instance/IsAncestorOf"|Returns true if the object is an ancestor of the given descendant.|/RMD|
boolIsDescendantOf ( Instance ancestor )

Returns true if the object is a descendant of the given ancestor.

|RMD member="API:Class/Instance/IsDescendantOf"|Returns true if the object is a descendant of the given ancestor.|/RMD|
Ref<Instance>WaitForChild ( string childName, double timeOut )

Yields the current thread until a child with the given name is found, then returns the child. If the timeOut parameter is specified, this function will time out and return nil if timeOut seconds elapse without the child being found.

|RMD member="API:Class/Instance/WaitForChild"|Yields the current thread until a child with the given name is found, then returns the child.

If the timeOut parameter is specified, this function will time out and return nil if timeOut seconds elapse without the child being found.|/RMD|

stringGetDebugId ( int scopeLength = 4 ) [PluginSecurity] [notbrowsable]

Returns a coded string of the object's DebugId used internally by Roblox.

|RMD member="API:Class/Instance/GetDebugId"|Returns a coded string of the object's DebugId used internally by Roblox.|/RMD|
voidRemove ( ) [deprecated]

Deprecated. Do not use.

|RMD member="API:Class/Instance/Remove"|Deprecated. Do not use.|/RMD|
array<Instance>children ( ) [deprecated]

Deprecated in favor of GetChildren.

|RMD member="API:Class/Instance/children"|Deprecated in favor of GetChildren.|/RMD|
Instanceclone ( ) [deprecated]

Deprecated in favor of Clone.

|RMD member="API:Class/Instance/clone"|Deprecated in favor of Clone.|/RMD|
voiddestroy ( ) [deprecated]

Deprecated in favor of Destroy.

|RMD member="API:Class/Instance/destroy"|Deprecated in favor of Destroy.|/RMD|
InstancefindFirstChild ( string name, bool recursive = false ) [deprecated]

Deprecated in favor of FindFirstChild.

|RMD member="API:Class/Instance/findFirstChild"|Deprecated in favor of FindFirstChild.|/RMD|
array<Instance>getChildren ( ) [deprecated]

Deprecated in favor of GetChildren.

|RMD member="API:Class/Instance/getChildren"|Deprecated in favor of GetChildren.|/RMD|
boolisA ( string className ) [deprecated]

Deprecated in favor of IsA.

|RMD member="API:Class/Instance/isA"|Deprecated in favor of IsA.|/RMD|
boolisDescendantOf ( Instance ancestor ) [deprecated]

Deprecated in favor of IsDescendantOf.

|RMD member="API:Class/Instance/isDescendantOf"|Deprecated in favor of IsDescendantOf.|/RMD|
voidremove ( ) [deprecated]

Deprecated in favor of Remove.

|RMD member="API:Class/Instance/remove"|Deprecated in favor of Remove.|/RMD|
Removes all descendants of the object.
Clone ( )
Returns a copy of the object, including descendants, but only if the object is Archivable.
Sets the Parent property to nil, locks the Parent property, disconnects all connections and calls Destroy() on all children.
Returns the first ancestor whose Name is equal to name, or nil if none can be found.
Returns the first ancestor whose ClassName is equal to className, or nil if none can be found.
Returns the first ancestor that inherits the class className, or nil if none can be found.
FindFirstChild ( string name, bool recursive = false )
Returns the first child found with the given name, or nil if no such child exists. If the optional recursive argument is true, recursively descends the hierarchy while searching rather than only searching the immediate object.
Returns the first Instance whose ClassName is equal to className, or nil, if no such object is found with that ClassName.
FindFirstChildWhichIsA ( string className, bool recursive = false )
Returns the first child that inherits the class className, or nil if none can be found.
Returns an array of the object's children.
Returns an array containing all of the descendants of the instance.
Returns a string which shows the object's ancestry chain.
Returns a signal that is fired when the specified property is changed on this object.
IsA ( string className )
Returns true if the object is an instance of the given class, or if the object's class inherits from the given class.
IsAncestorOf ( Instance descendant )
Returns true if the object is an ancestor of the given descendant.
Returns true if the object is a descendant of the given ancestor.
WaitForChild ( string childName, double timeOut )
Yields the current thread until a child with the given name is found, then returns the child. If the timeOut parameter is specified, this function will time out and return nil if timeOut seconds elapse without the child being found.
GetDebugId ( int scopeLength = 4 ) [PluginSecurity] [notbrowsable]
Returns a coded string of the object's DebugId used internally by Roblox.
Remove ( ) [deprecated]
Deprecated. Do not use.
children ( ) [deprecated]
Deprecated in favor of GetChildren.
clone ( ) [deprecated]
Deprecated in favor of Clone.
destroy ( ) [deprecated]
Deprecated in favor of Destroy.
findFirstChild ( string name, bool recursive = false ) [deprecated]
Deprecated in favor of FindFirstChild.
getChildren ( ) [deprecated]
Deprecated in favor of GetChildren.
isA ( string className ) [deprecated]
Deprecated in favor of IsA.
isDescendantOf ( Instance ancestor ) [deprecated]
Deprecated in favor of IsDescendantOf.
remove ( ) [deprecated]
Deprecated in favor of Remove.


Events

EventsmemberhiddenEvents [toggle]

Inherited from Object Icon.pngInstance:
AncestryChanged ( Instance child, Instance parent )

Fires when the Parent property of the object or one of its ancestors is changed.

|RMD member="API:Class/Instance/AncestryChanged"|Fires when the Parent property of the object or one of its ancestors is changed.|/RMD|
Changed ( string property )

Fires after a property of the object changes.

|RMD member="API:Class/Instance/Changed"|Fires after a property of the object changes.|/RMD|
ChildAdded ( Instance child )

Fires when a child is added to the object.

|RMD member="API:Class/Instance/ChildAdded"|Fires when a child is added to the object.|/RMD|
ChildRemoved ( Instance child )

Fires when a child is removed from the object.

|RMD member="API:Class/Instance/ChildRemoved"|Fires when a child is removed from the object.|/RMD|
DescendantAdded ( Instance descendant )

Fires when a descendant is added to the object.

|RMD member="API:Class/Instance/DescendantAdded"|Fires when a descendant is added to the object.|/RMD|
DescendantRemoving ( Instance descendant )

Fires before a descendant of the object is removed.

|RMD member="API:Class/Instance/DescendantRemoving"|Fires before a descendant of the object is removed.|/RMD|
childAdded ( Instance child ) [deprecated]

Deprecated in favor of ChildAdded.

|RMD member="API:Class/Instance/childAdded"|Deprecated in favor of ChildAdded.|/RMD|
Fires when the Parent property of the object or one of its ancestors is changed.
Changed ( string property )
Fires after a property of the object changes.
Fires when a child is added to the object.
Fires when a child is removed from the object.
DescendantAdded ( Instance descendant )
Fires when a descendant is added to the object.
Fires before a descendant of the object is removed.
childAdded ( Instance child ) [deprecated]
Deprecated in favor of ChildAdded.

|RMD member="API:Class/HingeConstraint"|A hinge allows two Attachments to rotate about one axis. A HingeConstraint constrains its two attachments so that they both occupy the same position and that their x-axes point in the same direction. The constraint allows the attachments to rotate about their x-axes. Hinges can also be configured to actuate rotation. If ActuatorType is set to Motor, then the hinge will attempt to rotate the attachments with the goal of reaching AngularVelocity. This rotation is limited by both MotorMaxAcceleration and MotorMaxTorque. If ActuatorType is set to Servo, then the hinge will attempt to rotate to an angle specified by TargetAngle. This rotation is limited by both AngularSpeed and ServoMaxTorque. Both actuated and free spinning rotation using a HingeConstraint can be limited by setting LimitsEnabled to true. |/RMD|