rotate object unity smoothly code example

Example 1: unity smoothly rotate

private float desiredRot;     public float rotSpeed = 250;     public float damping = 10;      private void OnEnable() {         desiredRot = transform.eulerAngles.z;     }      private void Update() {         if (Input.GetMouseButton(0)) {              if (Input.mousePosition.x > Screen.width / 2) desiredRot -= rotSpeed * Time.deltaTime;              else desiredRot += rotSpeed * Time.deltaTime;          }          var desiredRotQ = Quaternion.Euler(transform.eulerAngles.x, transform.eulerAngles.y, desiredRot);         transform.rotation = Quaternion.Lerp(transform.rotation, desiredRotQ, Time.deltaTime * damping);     }

Example 2: unity rotate object 90 degrees smoothly

IEnumerator RotateMe(Vector3 byAngles, float inTime)      {    var fromAngle = transform.rotation;         var toAngle = Quaternion.Euler(transform.eulerAngles + byAngles);         for(var t = 0f; t < 1; t += Time.deltaTime/inTime) {             transform.rotation = Quaternion.Slerp(fromAngle, toAngle, t);             yield return null;         }     } void Update () {     if(Input.GetKeyDown("e")){     StartCoroutine(RotateMe(Vector3.up * 90, 0.8f));     }     if(Input.GetKeyDown("q")){     StartCoroutine(RotateMe(Vector3.up * -90, 0.8f));     }   } }