Rotating Camera around Player's X-axis while rotating Player around its Y-axis (using mouse input)
Dear community,
I have been trying to implement a third-person experience to learn Unity development. To get to the point:
I have the following structure within the Player GameObject:
Structure (3d shapes)
Colliders (Colliders from Structure copied over, but with 'Is Trigger' false)
Main Camera
So the camera 'follows' the Player as it's a child of it.
Now for the Rotation code:
public float sensitivityX = 15F;
public float sensitivityY = 15F;
public float minimumX = -360F;
public float maximumX = 360F;
public float minimumY = 20F;
public float maximumY = -20F;
float rotationY;
Camera Camera;
void Start()
{
Cursor.visible = false;
Camera = GetComponentInChildren<Camera>();
}
void FixedUpdate()
{
float rotationX = transform.localEulerAngles.y + Input.GetAxis("Mouse X") * sensitivityX;
float newRotationY = this.rotationY + Input.GetAxis("Mouse Y") * sensitivityY;
newRotationY = Mathf.Clamp(newRotationY, minimumY, maximumY);
float rotationY = this.rotationY - newRotationY;
this.rotationY = newRotationY;
Camera.transform.RotateAround(transform.position, new Vector3(1, 0, 0), rotationY);
transform.localEulerAngles = new Vector3(0, rotationX, 0);
}
I borrowed some code from here, but what happens now is that the Camera moves around the Z-Axis aswell and I can't figure out why. What I would want to happen is that the Camera only rotates around the Player's X-axis using the rotationY value and that the Player only rotates around its own Y-axis.
Commenting out either rotation works fine by itself, but combining them results in interesting rotations...
Thanks in advance for any help!
Your answer
Follow this Question
Related Questions
How to apply rotation with given axis 0 Answers
Rotate an Object while moving forward using empty gameObject 0 Answers
Make GameObject rotate around another around random axis but with fixed distance 0 Answers
Why my RotateAround() function doesn't work? 0 Answers
Camera self rotation script problem 1 Answer