# HingeConstraint

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.

## Summary

### Properties

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

Specifies the sharpness of the servo motor in reaching the TargetAngle.

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.

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².

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 Attachment 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.

Indicates if the constraint is currently active in the world.

The Attachment that is connected to Constraint.Attachment1.

The Attachment that is connected to Constraint.Attachment0.

The color of the constraint.

Toggles whether or not the constraint is enabled.

Toggles the constraint's visibility.

## Properties

### ActuatorType

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

- If ActuatorType is set to Motor, 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, the hinge will attempt to rotate to an angle specified by TargetAngle. This rotation is limited by both AngularSpeed and ServoMaxTorque.

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

### AngularResponsiveness

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.

### 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.

### AngularVelocity

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

### CurrentAngle

The current angle of the HingeConstraint. This angle is calculated by measuring the angle separation of the Y axes of the Attachments.

### LimitsEnabled

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.

### LowerAngle

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

### MotorMaxAcceleration

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

### MotorMaxTorque

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

### Restitution

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.

### ServoMaxTorque

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

### TargetAngle

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

### UpperAngle

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