How to Rotate a CUBE by 90 Degrees when a key is pressed

Hello,

I would like, in a C# script, to rotate a cube by exactly 90 degrees when a specific
key is pressed. The code below works, but only rotates the cube by a small amount each
time the RIGHT ARROW key is pressed. Is there some functionality that would allow me to
rotate a specific number of degrees at once? Euler Angles perhaps? Thanks in advance!

void Update ()
{

if(Input.GetKeyDown (KeyCode.RightArrow))
{

   transform.RotateAround(Vector3.zero, Vector3.up, 60 * Time.deltaTime);
		
	
}
	

}

Hi :slight_smile:

I think you can do it with this one: http://docs.unity3d.com/ScriptReference/Vector3.Lerp.html

Use Quaternion.lerp

instead of using time.deltaTime as the time parameter, make it a float value that goes from 0 - 1

At 0 your rotation will be ‘from’, at 1 your rotation will be ‘to’

so your time parameter could be something like

float rotationTime = 0f;

if(rotate == true)
rotationTime += Time.deltaTime * 0.2f;

if(rotationTime >= 1f){
rotate = false;
rotationTime = 0f;
}

There are overloads for the Rotate method:

transform.Rotate(0,90,0,Space.Self);