rojo/.cursor/rules/roblox/reference/engine/classes/HingeConstraint.yaml
2026-02-02 12:08:47 -06:00

428 lines
14 KiB
YAML

# This file is automatically generated. Please don't edit it manually.
# To submit a bug report on the content, see
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
name: HingeConstraint
type: class
memory_category: BaseParts
summary: |
Constrains its attachments to rotate about a single axis.
description: |
A **HingeConstraint** allows two `Class.Attachment|Attachments` to rotate
about one axis, constraining the two `Class.Attachment|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](../../../physics/units.md) to understand how Roblox units
compare to metric units.
#### Angular Power
Hinges can be configured to actuate rotation. If a hinge's
`Class.HingeConstraint.ActuatorType|ActuatorType` is set to
`Enum.ActuatorType|Motor`, it attempts to rotate the attachments with the goal
of reaching its `Class.HingeConstraint.AngularVelocity|AngularVelocity`. You
can further control this rotation through both
`Class.HingeConstraint.MotorMaxAcceleration|MotorMaxAcceleration` and
`Class.HingeConstraint.MotorMaxTorque|MotorMaxTorque`. If a hinge's
`Class.HingeConstraint.ActuatorType|ActuatorType` is set to
`Enum.ActuatorType|Servo`, it attempts to rotate to an angle specified by
`Class.HingeConstraint.TargetAngle|TargetAngle`. This rotation is controlled
by both `Class.HingeConstraint.AngularSpeed|AngularSpeed` and
`Class.HingeConstraint.ServoMaxTorque|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 `Class.HingeConstraint.LimitsEnabled|LimitsEnabled` property exposes the
`Class.HingeConstraint.LowerAngle|LowerAngle` and
`Class.HingeConstraint.UpperAngle|UpperAngle` limits, as well as
`Class.HingeConstraint.Restitution|Restitution` which defines the elasticity
of the attachments when they reach either limit.
code_samples: []
inherits:
- Constraint
descendants: []
tags: []
deprecation_message: ''
properties:
- name: HingeConstraint.ActuatorType
summary: |
Sets whether the rotation of the `Class.HingeConstraint` is actuated and,
if so, what kind of actuation it uses.
description: |
Sets whether the rotation of the `Class.HingeConstraint` is actuated and,
if so, what kind of actuation.
- If `Class.HingeConstraint.ActuatorType|ActuatorType` is set to
`Enum.ActuatorType|Motor`, the hinge will attempt to rotate the
attachments with the goal of reaching
`Class.HingeConstraint.AngularVelocity|AngularVelocity`. This rotation
is limited by both
`Class.HingeConstraint.MotorMaxAcceleration|MotorMaxAcceleration` and
`Class.HingeConstraint.MotorMaxTorque|MotorMaxTorque`.
- If `Class.HingeConstraint.ActuatorType|ActuatorType` is set to
`Enum.ActuatorType|Servo`, the hinge will attempt to rotate to an angle
specified by `Class.HingeConstraint.TargetAngle|TargetAngle`. This
rotation is limited by both
`Class.HingeConstraint.AngularSpeed|AngularSpeed` and
`Class.HingeConstraint.ServoMaxTorque|ServoMaxTorque`.
Note that both actuated and free spinning rotation can be limited by
setting `Class.HingeConstraint.LimitsEnabled|LimitsEnabled` to true.
code_samples: []
type: ActuatorType
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Hinge
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: HingeConstraint.AngularResponsiveness
summary: |
Specifies the sharpness of the servo motor in reaching the
`Class.HingeConstraint.TargetAngle|TargetAngle`.
description: |
This property specifies the sharpness of the servo motor in reaching the
`Class.HingeConstraint.TargetAngle|TargetAngle`, when
`Class.HingeConstraint.ActuatorType|ActuatorType` is set to
`Enum.ActuatorType|Servo`. Larger values correspond to a faster response
and smaller values results in more damping and a slower response.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Servo
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: HingeConstraint.AngularSpeed
summary: |
The desired angular speed a `Class.HingeConstraint` with
`Class.HingeConstraint.ActuatorType|ActuatorType` set to
`Enum.ActuatorType|Servo` will attempt to maintain while rotating towards
its `Class.HingeConstraint.TargetAngle|TargetAngle`. Measured in
radians/second.
description: |
The desired angular speed a `Class.HingeConstraint` with
`Class.HingeConstraint.ActuatorType|ActuatorType` set to
`Enum.ActuatorType|Servo` will attempt to maintain while rotating towards
its `Class.HingeConstraint.TargetAngle|TargetAngle`. Measured in
radians/second.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Servo
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: HingeConstraint.AngularVelocity
summary: |
The angular velocity a `Class.HingeConstraint` with
`Class.HingeConstraint.ActuatorType|ActuatorType` set to
`Enum.ActuatorType|Motor` will attempt to achieve. Measured in
radians/second.
description: |
The angular velocity a `Class.HingeConstraint` with
`Class.HingeConstraint.ActuatorType|ActuatorType` set to
`Enum.ActuatorType|Motor` will attempt to achieve. Measured in
radians/second.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Motor
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: HingeConstraint.CurrentAngle
summary: |
The current angle of the `Class.HingeConstraint`.
description: |
The current angle of the `Class.HingeConstraint`. This angle is calculated
by measuring the angle separation of the **Y** axes of the
`Class.Attachment|Attachments`.
code_samples: []
type: float
tags:
- ReadOnly
- NotReplicated
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Derived
serialization:
can_load: false
can_save: true
capabilities:
- Physics
- name: HingeConstraint.LimitsEnabled
summary: |
Sets whether the `Class.HingeConstraint` will limit the range of rotation.
description: |
Sets whether the `Class.HingeConstraint` will limit the range of rotation.
If enabled, the constraint will only allow the
`Class.HingeConstraint.CurrentAngle|CurrentAngle` to be between
`Class.HingeConstraint.LowerAngle|LowerAngle` and
`Class.HingeConstraint.UpperAngle|UpperAngle`. If the `Class.Attachment`
reach the end of the limited range of rotation then they will stop
rotating. If `Class.HingeConstraint.Restitution|Restitution` is greater
than 0 then the attachments will bounce when they hit the ends of the
limited range.
code_samples: []
type: boolean
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Hinge
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: HingeConstraint.LowerAngle
summary: |
The minimum rotation angle the `Class.HingeConstraint` will allow if
`Class.HingeConstraint.LimitsEnabled|LimitsEnabled` is true.
description: |
The minimum rotation angle the `Class.HingeConstraint` will allow if
`Class.HingeConstraint.LimitsEnabled|LimitsEnabled` is true. Measured in
degrees.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Limits
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: HingeConstraint.MotorMaxAcceleration
summary: |
The maximum angular acceleration a `Class.HingeConstraint` with
`Class.HingeConstraint.ActuatorType|ActuatorType` set to
`Enum.ActuatorType|Motor` can apply to achieve its
`Class.HingeConstraint.AngularVelocity|AngularVelocity`. Measured in
radians/second².
description: |
The maximum angular acceleration a `Class.HingeConstraint` with
`Class.HingeConstraint.ActuatorType|ActuatorType` set to
`Enum.ActuatorType|Motor` can apply to achieve its
`Class.HingeConstraint.AngularVelocity|AngularVelocity`. Measured in
radians/second².
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Motor
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: HingeConstraint.MotorMaxTorque
summary: |
The maximum torque a `Class.HingeConstraint` with
`Class.HingeConstraint.ActuatorType|ActuatorType` set to
`Enum.ActuatorType|Motor` can apply when trying to reach its desired
`Class.HingeConstraint.AngularVelocity|AngularVelocity`.
description: |
The maximum torque a `Class.HingeConstraint` with
`Class.HingeConstraint.ActuatorType|ActuatorType` set to
`Enum.ActuatorType|Motor` can apply when trying to reach its desired
`Class.HingeConstraint.AngularVelocity|AngularVelocity`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Motor
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: HingeConstraint.Radius
summary: |
The visualized radius of the `Class.HingeConstraint`.
description: |
The visualized radius of the `Class.HingeConstraint`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Appearance
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: HingeConstraint.Restitution
summary: |
How elastic `Class.Attachment` connected by a `Class.HingeConstraint` will
be when they reach the end of the range when
`Class.HingeConstraint.LimitsEnabled|LimitsEnabled` is true. Constrained
between 0 and 1.
description: |
How elastic `Class.Attachment` connected by a `Class.HingeConstraint` will
be when they reach the end of the range when
`Class.HingeConstraint.LimitsEnabled|LimitsEnabled` is true. Constrained
between 0 and 1.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Limits
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: HingeConstraint.ServoMaxTorque
summary: |
The maximum torque a `Class.HingeConstraint` with
`Class.HingeConstraint.ActuatorType|ActuatorType` set to
`Enum.ActuatorType|Servo` can apply when trying to reach its desired
`Class.HingeConstraint.TargetAngle|TargetAngle`.
description: |
The maximum torque a `Class.HingeConstraint` with
`Class.HingeConstraint.ActuatorType|ActuatorType` set to
`Enum.ActuatorType|Servo` can apply when trying to reach its desired
`Class.HingeConstraint.TargetAngle|TargetAngle`.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Servo
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: HingeConstraint.SoftlockServoUponReachingTarget
summary: ''
description: ''
code_samples: []
type: boolean
tags:
- Deprecated
deprecation_message: |
This property should not be used in new work.
security:
read: None
write: None
thread_safety: ReadSafe
category: Servo
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: HingeConstraint.TargetAngle
summary: |
The target angle a `Class.HingeConstraint` will attempt to rotate to if
its `Class.HingeConstraint.ActuatorType|ActuatorType` is set to
`Enum.ActuatorType|Servo`. Measured in degrees.
description: |
The target angle a `Class.HingeConstraint` will attempt to rotate to if
its `Class.HingeConstraint.ActuatorType|ActuatorType` is set to
`Enum.ActuatorType|Servo`. Measured in degrees.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Servo
serialization:
can_load: true
can_save: true
capabilities:
- Physics
- name: HingeConstraint.UpperAngle
summary: |
The maximum rotation angle the `Class.HingeConstraint` will allow if
`Class.HingeConstraint.LimitsEnabled|LimitsEnabled` is true.
description: |
The maximum rotation angle the `Class.HingeConstraint` will allow if
`Class.HingeConstraint.LimitsEnabled|LimitsEnabled` is true. Measured in
degrees.
code_samples: []
type: float
tags: []
deprecation_message: ''
security:
read: None
write: None
thread_safety: ReadSafe
category: Limits
serialization:
can_load: true
can_save: true
capabilities:
- Physics
methods: []
events: []
callbacks: []