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

Hinges can also be configured to actuate rotation, as follows:

- If HingeConstraint.ActuatorType is set to Motor, the hinge will attempt to rotate the attachments with the goal of reaching HingeConstraint.AngularVelocity. This rotation is limited by both HingeConstraint.MotorMaxAcceleration and HingeConstraint.MotorMaxTorque.
- If HingeConstraint.ActuatorType is set to Servo, the hinge will attempt to rotate to an angle specified by HingeConstraint.TargetAngle. This rotation is limited by both HingeConstraint.AngularSpeed and HingeConstraint.ServoMaxTorque.

Note that both actuated and free spinning rotation can be limited by setting HingeConstraint.LimitsEnabled to true. Also 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.

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

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

The angular velocity a HingeConstraint with HingeConstraint.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 HingeConstraint.LimitsEnabled is true.

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

The maximum torque a HingeConstraint with HingeConstraint.ActuatorType set to Motor can apply when trying to reach its desired HingeConstraint.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 HingeConstraint.LimitsEnabled is true. Constrained between 0 and 1.

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

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

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

### Methods

### Events

## Properties

### ActuatorType

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

When ActuatorType is set to None then the hinge can swing freely:

When ActuatorType is set to Motor then the HingeConstraint will attempt to rotate at a constant velocity specified by HingeConstraint.AngularVelocity. The HingeConstraint will apply a torque up to HingeConstraint.MotorMaxTorque to achieve the desired velocity but will be limited by HingeConstraint.MotorMaxAcceleration.

When ActuatorType is set to Servo then the HingeConstraint will attempt to rotate to an angle specified by HingeConstraint.TargetAngle. The HingeConstraint will attempt to rotate towards that goal at a target speed set by HingeConstraint.AngularSpeed. The maximum torque the HingeConstraint is allowed to use to meet these goals is set by HingeConstraint.ServoMaxTorque.

### AngularResponsiveness

This property specifies the sharpness of the servo motor in reaching the HingeConstraint.TargetAngle, when HingeConstraint.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 HingeConstraint.ActuatorType set to Servo will attempt to maintain while rotating towards its HingeConstraint.TargetAngle. Measured in radians/second.

### AngularVelocity

The angular velocity a HingeConstraint with HingeConstraint.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.

Note that in the above picture the x-axis of the Attachment in PartA is pointed away from the camera.

### LimitsEnabled

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

For example, here is the result if LowerAngle is set to -90 and UpperAngle is set to 45. Note that the x-axis of the Attachment in PartA is pointed away from the camera:

### LowerAngle

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

### MotorMaxAcceleration

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

### MotorMaxTorque

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

### Restitution

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

### ServoMaxTorque

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

### TargetAngle

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

### UpperAngle

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