Using transform.Rotate is not ideal

As others have said… Using transform.Rotate and freezeRotation is not ideal, it causes multiple issues. It deactivates your constraints that you have already set and it causes stuttering while rotating the rocket.

Using AddTorque and using Rigidbody settings of Drag 1, Angular Drag 0.8, and Mass 1, gave me perfectly smooth rotation and no issues when colliding with objects. It also makes the rocket feel more like a rocket lol.

_Rb.AddTorque(Vector3.forward * rotInputX * rotSpeed * Time.deltaTime);

I tried a few different ways from reading the comments and the best one is to just use AddTorque. It makes the rockets rotation perfectly smooth and you dont have to mess around with freezing constraints. Its also the easiest fix lol just change to AddTorque instead of transform.Rotate.

I did have to set my pivot point to the bottom middle centre of my rocket and play around with drag and mass until it felt perfect. If you dont have Angular/Drag then the rotation will feel too fast and twitchy.

1 Like

Privacy & Terms