Euler makes my look script stop...


When I use this code for assigning the rotation of my player the look script lags very heavy:

#pragma strict
var cameraObject :GameObject;
function Update () {
	transform.rotation = Quaternion.Euler(0, cameraObject.GetComponent(look).yRotation, 0);

My look script:

var lookSensivity :float = 5;
var yRotation :float;
var xRotation :float;
var currentYRotation :float;
var currentXRotation :float;
var yRotationV :float;
var xRotationV :float;
var lookSmoothDamp :float = 0.1;
var invert :boolean;
var showCursor :boolean;

function Update(){

		yRotation += Input.GetAxis("Mouse X") * lookSensivity;
			xRotation += Input.GetAxis("Mouse Y") * lookSensivity;
			xRotation += Input.GetAxis("Mouse Y") * lookSensivity * -1;
		xRotation = Mathf.Clamp(xRotation, -90, 90);
		currentXRotation = Mathf.SmoothDamp(currentXRotation, xRotation, xRotationV, lookSmoothDamp);
		currentYRotation = Mathf.SmoothDamp(currentYRotation, yRotation, yRotationV, lookSmoothDamp);
		transform.rotation = Quaternion.Euler(xRotation, yRotation, 0);
		if(showCursor != true)
			Screen.showCursor = false;
			Screen.showCursor = true;
		Screen.lockCursor = true;

Can you help me how to fix this?

Shouldn’t you be using the currentXRotation etc in the transform.rotation line?

 transform.rotation = Quaternion.Euler(currentXRotation, currentYRotation, 0);

Now sure whether all the cursor stuff is necessary every frame, otherwise it looks ok. When you say lagging, do you mean the stats is giving you a low FPS?