Hello. I am trying to rotate my object smoothly using Quaternion.Lerp()
. But for some reason it’s not rotating smoothly. Instead, it is just snapping to that position. How can i fix this?
This is the code:
float rotateFloat = (((randomReward + 1) * 60) - 30) - transform.rotation.z;
Quaternion targetRotation = Quaternion.Euler(new Vector3(0, 0, rotateFloat));
transform.rotation = Quaternion.Lerp(transform.rotation, targetRotation, f_difX * Time.deltaTime);
Any kind of help is very much appreciated.
EDIT:
I tried to use Quaternion.RotateTowards()
instead, it did rotate smoothly. But i faced another problem which is the direction of the rotation. I did some research and found that Quaternion.RotateTowards()
Finds the shortest way to rotate to the targetRotation point, which defies the whole point of spinning the object in a both directions.