Skip to content

AlignOrientation

Supported Class Physics

Constraint which applies torque to align two attachments, or to align one attachment with a goal orientation.

11 Nova members · 1 modern Roblox members not implemented yet

Description

The AlignOrientation constraint applies torque to align two attachments, or to align one attachment with a goal orientation. As indicated by the name, it only affects the orientation of the attachments, not their position (to align attachments positionally, see AlignPosition).

Torque created by AlignOrientation is applied about the center of mass of the parent of the attachments, or the center of mass of parts rigidly connected to the parents.

When configuring this constraint, it may be helpful to study Roblox Units to understand how Roblox units compare to metric units.

Affected Axes

The axes affected by torque are controlled through the constraint's AlignType property. When set to PrimaryAxisParallel, PrimaryAxisPerpendicular or PrimaryAxisLookAt, torque will only occur when the primary axes become misaligned. Otherwise, the constraint will apply torque about all 3 axes to achieve alignment.

Reactionary Torque

By default, the constraint only applies torque to Attachment0 while Attachment1 remains unaffected. If desired, torque can be applied to both attachments in equal and opposite directions by enabling ReactionTorqueEnabled.

Torque Magnitude

You can configure this constraint to apply the maximum torque that constraints allow through the RigidityEnabled property. When true, the physics solver reacts as quickly as possible to complete the alignment. When false, the torque is determined by MaxTorque, MaxAngularVelocity, and Responsiveness.

Attachment Mode

This constraint can use either one or two attachments in calculating its goal. See Mode for details.

Inheritance

Object → Instance → Constraint → AlignOrientation

Nova inheritance: Instance → Constraint → AlignOrientation

Properties

AlignType Supported Property The constraint's axis alignment type.
AlignType: AlignType

The constraint's axis alignment type.

Specifies the desired relationship between the primary axes of Attachment0 and the goal. Available options are AllAxes, PrimaryAxisParallel, PrimaryAxisPerpendicular, and PrimaryAxisLookAt. The constraint will attempt to maintain the specified relationship, as given by the AlignType, by applying torques onto the relevant axes.

Roblox documentation

CFrame Supported Property The CFrame orientation with which the constraint will attempt to match the orientation of Attachment0.
CFrame: CoordinateFrame

The CFrame orientation with which the constraint will attempt to match the orientation of Attachment0.

The CFrame orientation (translation component ignored) with which the constraint will attempt to match the orientation of Attachment0. Only used when Mode is set to OneAttachment.

Roblox reference signature
CFrame: CFrame

Roblox documentation

MaxAngularVelocity Supported Property Maximum angular velocity the constraint can use to reach its goal.
MaxAngularVelocity: float

Maximum angular velocity the constraint can use to reach its goal. Only used if RigidityEnabled is false.

Note that MaxAngularVelocity, as well as MaxTorque, are caps to the angular velocity and torque respectively. The actual scale is determined by Responsiveness.

Roblox documentation

MaxTorque Supported Property Maximum torque the constraint can use to reach its goal.
MaxTorque: float

Maximum torque the constraint can use to reach its goal. Only used if RigidityEnabled is false.

Note that MaxTorque, as well as MaxAngularVelocity, are caps to the torque and angular velocity respectively. The actual scale is determined by Responsiveness.

Roblox documentation

Mode Supported Property Whether the constraint uses one or two attachments in calculating its goal.
Mode: OrientationAlignmentMode

Whether the constraint uses one or two attachments in calculating its goal.

Whether the constraint uses one or two attachments in calculating its goal. By default, this is TwoAttachment, meaning that the constraint attempts to match the orientation of Attachment0 with the orientation of Attachment1, disregarding CFrame, PrimaryAxis, and SecondaryAxis.

If set to OneAttachment, the constraint disregards Attachment1 and attempts to match the orientation of Attachment0 with the orientation of CFrame, or match the attachment's Axis and SecondaryAxis with the constraint's PrimaryAxis and SecondaryAxis properties respectively.

Roblox documentation

PrimaryAxis Supported Property The direction of the goal's X axis, represented as a unit Vector3.
PrimaryAxis: Vector3

The direction of the goal's X axis, represented as a unit Vector3. Only used when Mode is OneAttachment.

Roblox documentation

PrimaryAxisOnly Supported Property Deprecated Determines how the constraint's axes are affected by torque.
PrimaryAxisOnly: bool

Determines how the constraint's axes are affected by torque. If false (default), the constraint will apply torque about all 3 axes to achieve alignment. If true, torque will only occur when the primary axes become misaligned.

Enabling PrimaryAxisOnly also enables the AlignType property.

Roblox documentation

ReactionTorqueEnabled Supported Property Whether the constraint applies torque only to Attachment0, or to both attachments in equal and opposite directions.
ReactionTorqueEnabled: bool

Whether the constraint applies torque only to Attachment0, or to both attachments in equal and opposite directions.

If false (default), the constraint only applies torque to Attachment0 while Attachment1 remains unaffected. If true, the constraint applies torque to both attachments in equal and opposite directions.

Roblox documentation

Responsiveness Supported Property Controls how quickly the constraint reaches its goal. Higher values cause the attachment(s) to align more rapidly.
Responsiveness: float

Controls how quickly the constraint reaches its goal. Higher values cause the attachment(s) to align more rapidly. Value can be between 5 and 200.

Roblox documentation

RigidityEnabled Supported Property Whether torque is dependent on other properties, or if the physics solver reacts as quickly as possible to complete the alignment.
RigidityEnabled: bool

Whether torque is dependent on other properties, or if the physics solver reacts as quickly as possible to complete the alignment. If false (default), the torque is determined by MaxTorque, MaxAngularVelocity, and Responsiveness. If true, the physics solver reacts as quickly as possible to complete the alignment.

Roblox documentation

SecondaryAxis Supported Property The direction of the goal's Y axis, represented as a unit Vector3.
SecondaryAxis: Vector3

The direction of the goal's Y axis, represented as a unit Vector3. Only used when Mode is OneAttachment.

Roblox documentation

Inherited members

Inherited from Constraint: 14 properties, 36 methods, 7 events. They are documented on the base class page.

1 modern Roblox member(s) are not implemented yet — expand to inspect

Members declared by Roblox's AlignOrientation class (or by a missing base class) that Nova does not expose. Use this list to scope a migration; the compatibility guide has the recommended workaround.

Properties

Member Signature Status Notes Flags
LookAtPosition LookAtPosition: Vector3 Not yet A Vector3 world space location toward which the primary axis will attempt to align. NotReplicated

Roblox reference: AlignOrientation

Generated from Nova's API dump and Roblox creator-docs. Nova-only members come from the engine's reflection metadata.