BodyGyro's maxTorque property only seems to work as 'expected' if the values are (x, y, x)

The maxTorque property of a BodyGyro instance doesn’t seem to work properly. It does somewhat work if the values are (x, y, x), so for example the default values (400000, 0, 400000) do what is expected (allow free rotation, without force from the BodyGyro object, around the object-y-axis). The value (0, 400000, 0) also works as expected.

However, setting the value to e.g. (400000, 400000, 0) does not allow free rotation around the object-z-axis and just applies force on any axis to make the object rotate to the set cframe. Setting it to (400000, 400000, 400000) or (0, 400000, 400000) seems to have exactly the same effect.

Besides, maxTorque doesn’t actually seem to define the maximum torque… Setting it to (0.0001, 0.0001, 0.0001) with P set to 1000000 seems to only take P into account, not being restricted to the maxTorque values. I don’t think this is intended too.

Would like to see this fixed, even though you could practically work around the first issue by rotating the part and the BodyGyro its cframe orientation.

Hi Den_S
I know this is a little late to say the least. We on the physics team just got assigned this bug, apologies for that. We’ve deprecated BodyGyro and ask that you switch to AlignOrientation using only a single attachment placed at the center of mass. You can choose to limit forces in either a per-axis way or as a single scalar value. If you still have issues please submit a new bug report, our automation has improved dramatically, you can also ping me directly and that will make sure we see the report.

Thanks,

1 Like