IMyShipController.GetShipVelocities.AngularVelocity is incorrect

Tomislav Tunković shared this bug 3 years ago
Reported

In creative mode on earthlike planet, I created a very basic ship using a cockpit, battery, 6 thrusters (1 per direction), gyro and a programmable block. I lifted it in the air, turned on the dampeners and set a gyro override on one axis to make it spin with constant speed. Using Cockpit.GetShipVelocities().AngularVelocity is giving different results for different axes of rotation, despite the actual rotation speed being the same. Calculating the rotation speed by doing Quaternion.CreateFromRotationMatrix(MatrixD.Invert(prevTrans) * Cockpit.WorldMatrix).GetAxisAngle yields the expected result. Also measuring the time required for a fixed number of 360 rotations and calculating the speed by hand also gives the expected result. I haven't tried to repro in a weightless environment without using the thrusters but I guess the results would be the same.

Replies (1)

photo
1

Hello, Tomislav!

Thank you for letting us know about this issue. This has been reported internally

Kind Regards

Laura, QA Department

Leave a Comment
 
Attach a file