x


Using MouseLook script with LookAt function

Hi,

I was trying to make a camera rotate like while using MouseLook script in the standard assert and I want a player can press a button to snap( LookAt ) a target in screen(First person view) while using MouseLook.

The problem is the MouseLook Script use quatenion to rotate in the following script

Code:

rotationX += Input.GetAxis("Mouse X") * sensitivityX;
rotationY += Input.GetAxis("Mouse Y") * sensitivityY;

rotationX = ClampAngle(rotationX, minimumX, maximumX);
rotationY = ClampAngle(rotationY, minimumY, maximumY);


Quaternion xQuaternion = Quaternion.AngleAxis(rotationX, Vector3.up);
Quaternion yQuaternion = Quaternion.AngleAxis(rotationY, Vector3.left);

FPSCamera.transform.localRotation = originalRotation * xQuaternion * yQuaternion;

and I try to use

Code:

FPSCamera.tranform.LookAt(target);

The thing that happen was my camera lookat target but the MouseLook still use the rotationX and rotationY that sum from before and try to wrap my camera back to where it was before using LookAt.

I know this would be a newbie question but How can I do this to make it get along together?

Thank you

more ▼

asked Oct 11 '10 at 08:43 AM

Broccoli gravatar image

Broccoli
2 2 2 2

(comments are locked)
10|3000 characters needed characters left

2 answers: sort voted first

Just after you use FPSCamera.transform.LookAt(target)*, you need to get the resultant rotationX and rotationY from the rotation you've forced, i.e. if you got the camera to look forward, then next time around, rotationX needs be 0, and so does rotationY... otherwise you're just setting the angles back to what the rotationX/Y is, which only gets changed by input, and not by whatever is doing your view snapping.

So I guess that you'd add something like

rotationX = FPSCamera.transform.localRotation.y;//because euler "Y" is yaw.
rotationY = FPSCamera.transform.localRotation.x;//because euler "X" is pitch.
more ▼

answered Jan 27 '11 at 02:37 PM

Aubrey Hesselgren gravatar image

Aubrey Hesselgren
287 9 11 19

(comments are locked)
10|3000 characters needed characters left

Maybe obvious, but what happens if you fix the typo ("tranform") to this:

FPSCamera.transform.LookAt(target);

more ▼

answered Nov 04 '10 at 04:46 PM

Bill F gravatar image

Bill F
1

(comments are locked)
10|3000 characters needed characters left
Your answer
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x3124
x2244
x459
x337
x164

asked: Oct 11 '10 at 08:43 AM

Seen: 1378 times

Last Updated: Oct 11 '10 at 08:43 AM