- Home /
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
Answer by Bill F · Nov 04, 2010 at 04:46 PM
Maybe obvious, but what happens if you fix the typo ("tranform") to this:
FPSCamera.transform.LookAt(target);
Answer by Aubrey Hesselgren · Jan 27, 2011 at 02:37 PM
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.
Your answer
Follow this Question
Related Questions
How to add a rotation to this? 1 Answer
Camera X and Y velocity HELP! 0 Answers
Problem restoring proper camera rotation 1 Answer