# How to represent a gameobject's (x,y,z) rotation as a quaternion?

I want to lerp a camera’s rotation FROM (35,0,0) TO (15,0,0) and have no idea how, because I haven’t gotten to Quaternions in math yet I also tried

``````Camera.transform.rotation.x = MathF.Lerp(35,15,timeToLerp);
``````

but it said I couldn’t do that, so I need to use

``````Camera.transform.rotation = Quaternion.Lerp(Camera.transform.rotation,???,timeToLerp);
``````

I appreciate the help ^^

You don’t have to understand Quaternion math to use Quaternions. The class comes with many helper functions. While you can Slerp from one specific rotation to another, it is easier to Slerp from the current rotation to another specific rotation. If you first set the rotation. Here is a script:

``````#pragma strict

var speed = 55.0; // Degrees per second;
private var qFrom = Quaternion.Euler(35,0,0);
private var qTo = Quaternion.Euler(15,0,0);

function Start() {
transform.rotation = qFrom;
}

function Update() {
transform.rotation = Quaternion.RotateTowards(transform.rotation, qTo, speed * Time.deltaTime);
}
``````

First of all when you use Camera.transform.rotation as start value you actually don’t LERP anymore. It becomes a decellerated rotation. Your Mathf example does lerp because start and end value have to be constant for a linear interpolation.

``````    Quaternion.Euler(15,0,0)