I’m doing a little gravity test, and I want the character to rotate smoothly. To do that, I wrote this:
var newangle = 0;
function OnGUI () {
if (GUILayout.Button("Reverse Gravity")) {
Physics.gravity = Vector3(0, 20.0, 0);
newangle = Mathf.LerpAngle(transform.eulerAngles.z, 180, 1);
transform.eulerAngles = Vector3(transform.eulerAngles.x, transform.eulerAngles.y, newangle);
rigidbody.WakeUp ();
}
if (GUILayout.Button("Normal Gravity")) {
Physics.gravity = Vector3(0, -20.0, 0);
newangle = Mathf.LerpAngle(transform.eulerAngles.z, 0, 1);
transform.eulerAngles = Vector3(transform.eulerAngles.x, transform.eulerAngles.y, newangle);
rigidbody.WakeUp ();
}
}
But he doesn’t smoothly rotate. He just snaps between rotations. That’s not the definition of Lerping that the docs give, so what is it really?