Class
CylindricalConstraint
Constrains two attachments on two parts to have a relative linear and rotational motion.
A CylindricalConstraint allows its attachments to slide along one axis and
rotate about another axis. It can be thought of like a combination of a
PrismaticConstraint and a HingeConstraint. The sliding axis is
determined by the X axis of the constraint's
Attachment0. The rotation axis is centered at
the constraint's Attachment1 and is angled off
of the sliding constraint by the constraint's
InclinationAngle.
This constraint, along with a SpringConstraint, is ideal for building
vehicle suspension.
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#
If a cylindrical's
AngularActuatorType 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
MotorMaxAngularAcceleration
and MotorMaxTorque. If a
cylindrical's
AngularActuatorType is set
to Servo, it attempts to rotate to an angle specified by
TargetAngle. This rotation is
controlled by AngularSpeed,
AngularResponsiveness, and
ServoMaxTorque.
Linear Power#
If a cylindrical's ActuatorType is set to
Motor, it attempts to translate the attachments with the
goal of reaching Velocity. You can further
control this translation through both
MotorMaxAcceleration and
MotorMaxForce. If a cylindrical's
ActuatorType is set to
Servo, it attempts to translate the attachments to a set
separation specified by TargetPosition. This
translation is controlled by Speed,
LinearResponsiveness, and
ServoMaxForce.
Limits#
You can set limits to restrict both the sliding range and rotation of
a cylindrical constraint. Enabling the
LimitsEnabled property exposes the
LowerLimit and
UpperLimit values, as well as
Restitution which defines the elasticity of the
attachments when they reach either limit. Enabling the
AngularLimitsEnabled
property exposes the LowerAngle and
UpperAngle limits, as well as
AngularRestitution which
defines the elasticity of the attachments when they reach either limit.
Inclination Angle#
InclinationAngle defines the
direction of the rotation axis as an angle from the X axis in the XY
plane of Attachment0, from
-180 to 180. This lets you tilt the rotating element without
changing the sliding axis.
Properties 17#
AngularActuatorTypeActuatorType | Type of angular actuator.ReadSafe |
AngularLimitsEnabledboolean | Enables the angular limits around the rotation axis.ReadSafe |
AngularResponsivenessfloat | Specifies the sharpness of the angular servo motor in reaching the
TargetAngle.ReadSafe |
AngularRestitutionfloat | Restitution of the two limits, or how elastic they are.ReadSafe |
AngularSpeedfloat | Target angular speed. This value is unsigned as the servo will always move toward its target. In radians per second.ReadSafe |
AngularVelocityfloat | The target angular velocity of the motor in radians per second around the rotation axis.ReadSafe |
CurrentAnglefloat | Signed angle (in degrees) between the reference axis and the secondary
axis of Attachment1 around the rotation
axis.ReadSafeReadOnlyNotReplicated |
InclinationAnglefloat | Direction of the rotation axis as an angle from the X axis in the
XY plane of Attachment0.ReadSafe |
LowerAnglefloat | Lower limit for the angle (in degrees) between the reference axis and the
SecondaryAxis of Attachment1 around the
rotation axis.ReadSafe |
MotorMaxAngularAccelerationfloat | The maximum angular acceleration of the motor in radians per second squared.ReadSafe |
MotorMaxTorquefloat | The maximum torque the motor can apply to achieve the target angular velocity.ReadSafe |
RotationAxisVisibleboolean | Enable the visibility of the rotation axis.ReadSafe |
ServoMaxTorquefloat | Maximum torque the servo motor can apply.ReadSafe |
SoftlockAngularServoUponReachingTargetboolean | ReadSafeDeprecated |
TargetAnglefloat | Target angle (in degrees) between the reference axis and the secondary
axis of Attachment1 around the rotation
axis.ReadSafe |
UpperAnglefloat | Upper limit for the angle (in degrees) between the reference axis and the
secondary axis of Attachment1 around the
rotation axis.ReadSafe |
WorldRotationAxisVector3 | The unit vector direction of the rotation axis in world coordinates.ReadSafeReadOnlyNotReplicated |
AngularActuatorType: ActuatorType#
ReadSafe
If a cylindrical's
AngularActuatorType 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
MotorMaxAngularAcceleration
and MotorMaxTorque.
If a cylindrical's
AngularActuatorType is
set to Servo, it attempts to rotate to an angle
specified by TargetAngle. This
rotation is controlled by
AngularSpeed,
AngularResponsiveness,
and ServoMaxTorque.
AngularLimitsEnabled: boolean#
ReadSafe
Enables the angular limits around the rotation axis.
AngularResponsiveness: float#
ReadSafe
This property specifies the sharpness of the angular servo motor in
reaching the TargetAngle, when
AngularActuatorType is
set to Servo. Larger values correspond to a faster
response and smaller values results in more damping and a slower response.
AngularRestitution: float#
ReadSafe
Restitution of the two limits, or how elastic they are. Constrained between 0 and 1.
AngularSpeed: float#
ReadSafe
Target angular speed. This value is unsigned as the servo will always move toward its target. In radians per second.
AngularVelocity: float#
ReadSafe
The target angular velocity of the motor in radians per second around the rotation axis.
CurrentAngle: float#
ReadOnlyNotReplicatedReadSafe
Signed angle (in degrees) between the reference axis and the secondary
axis of Attachment1 around the rotation
axis. Valid range between -180 and 180.
InclinationAngle: float#
ReadSafe
Direction of the rotation axis as an angle from the X axis in the
XY plane of Attachment0. Valid range
between -180 and 180.
LowerAngle: float#
ReadSafe
Lower limit for the angle (in degrees) between the reference axis and the
SecondaryAxis of Attachment1 around the
rotation axis. Valid range between -180 and 180.
MotorMaxAngularAcceleration: float#
ReadSafe
The maximum angular acceleration of the motor in radians per second squared.
MotorMaxTorque: float#
ReadSafe
The maximum torque the motor can apply to achieve the target angular velocity. Units are mass × studs²/second².
RotationAxisVisible: boolean#
ReadSafe
Enable the visibility of the rotation axis.
ServoMaxTorque: float#
ReadSafe
Maximum torque the servo motor can apply. Units are mass × studs²/second².
SoftlockAngularServoUponReachingTarget: boolean#
DeprecatedReadSafeDeprecated
Deprecated. This property should not be used in new work.
TargetAngle: float#
ReadSafe
Target angle (in degrees) between the reference axis and the secondary
axis of Attachment1 around the rotation
axis. Valid range between -180 and 180.
UpperAngle: float#
ReadSafe
Upper limit for the angle (in degrees) between the reference axis and the
secondary axis of Attachment1 around the
rotation axis. Valid range between -180 and 180.
WorldRotationAxis: Vector3#
ReadOnlyNotReplicatedReadSafe
The unit vector direction of the rotation axis in world coordinates.
Inherited members#
Inherited from SlidingBallConstraint 15
Inherited from Instance 58
Properties (10)
Archivable, archivable, Capabilities, IsInSandbox, Name, Parent, PredictionMode, RobloxLocked, Sandboxed, UniqueId
Methods (39)
AddTag, children, ClearAllChildren, Clone, clone, Destroy, destroy, FindFirstAncestor, FindFirstAncestorOfClass, FindFirstAncestorWhichIsA, FindFirstChild, findFirstChild, FindFirstChildOfClass, FindFirstChildWhichIsA, FindFirstDescendant, GetActor, GetAttribute, GetAttributeChangedSignal, GetAttributes, GetChildren, getChildren, GetDebugId, GetDescendants, GetFullName, GetStyled, GetStyledPropertyChangedSignal, GetTags, HasTag, IsAncestorOf, IsDescendantOf, isDescendantOf, IsPropertyModified, QueryDescendants, Remove, remove, RemoveTag, ResetPropertyToDefault, SetAttribute, WaitForChild