The BodyAngularVelocity object applies a [torque] (or rotational force) on a BasePart such that it maintains a constant [angular velocity] as determined by its AngularVelocity property. This allows for the creation of parts that continually rotate. It is the rotational counterpart to a BodyVelocity. If you would like to maintain a constant [angular displacement], use a BodyGyro instead.
Determines the axis of rotation (direction) and the rotational velocity (magnitude) in radians/s.
The AngularVelocity property is a Vector3 which determines the goal angular velocity a BodyAngularVelocity should maintain through the exertion of torque. For this property, the direction of the vector is the axis of rotation. The magnitude is the angular velocity in radians per second. By default, this property is (0, 2, 0).
Tip: You can multiply a Vector3 by math.rad(), or 2π, in order to convert [angular frequency] (rotations per second) into the desired [angular velocity] (radians per second). For example: Setting AngularVelocity to Vector3.new(0, 1, 0) * math.rad(360) ≈ Vector3.new(0, 6.283, 0) will cause a part to spin around the Y axis once per second.
The MaxTorque property determines the limit of the torque that may be exerted on each world axis. If a part isn't moving, consider raising this value (and also check that it is not Anchored or attached to another anchored part). See also P (power).
The P property determines how much power is used while applying torque in order to reach the goal AngularVelocity. The higher this value, the more power will be used and the faster it will be used.