I'm trying to make a simple flying system, however, I'm having an issue with the gyro.
How do I make a gyro rotate a Part relative to its base with a limit of rotation?
Throttle is just a number -1, 0, or 1 that the client passes to the server to handle direction to the vehicle
1 | BodyGyro.CFrame = Top.CFrame * CFrame.Angles(-Throttle * math.rad( 45 ), 0 , Steer * math.rad( 25 )) |
https://i.imgur.com/RtsoQla.gifv This will rotate the model relative to the top axis, but Top.CFrame's angles will update and the new rotation will be applied in its place making it spin limitless
1 | BodyGyro.CFrame = CFrame.Angles(-Throttle * math.rad( 45 ), 0 , Steer * math.rad( 25 )) |
https://i.imgur.com/AMEAtEr.gifv This, however, will rotate the model relative to the world axis. It will also never exceed the rotation of Throttle * 45 because the world doesn't ever change orientation. Also, it always turns facing the world axis as well. That doesn't really make sense in real life. Do I need to do something with the Y value?
Help would be appreciated