Rotate object in Unity 3D

You can use transform.rotation like this:

transform.rotation = new Quaternion(rotx, roty, rotz, rotw);

OR

You can use transform.Rotate like this:

transform.Rotate(rotx, roty, rotz);

Documentation for Quaternion

Documentation for transform.rotation

Example for Rotating screen with accelerometer input:

float accelx, accely, accelz = 0;

void Update ()
{
    accelx = Input.acceleration.x;
    accely = Input.acceleration.y;
    accelz = Input.acceleration.z;
    transform.Rotate (accelx * Time.deltaTime, accely * Time.deltaTime, accelz * Time.deltaTime);
}

If you want to rotate the object to a specific angle use:

float degrees = 90;
Vector3 to = new Vector3(degrees, 0, 0);

transform.eulerAngles = Vector3.Lerp(transform.rotation.eulerAngles, to, Time.deltaTime);

This will rotate 90 degrees around the x axis.

Leave a Comment