- Home /
Player model rotates forward with camera
I have a script that controls the players movement. Part of the movement involves rotating the player so that they face the direction of axis input using. It also controls the rotation of the camera. The camera can freely rotate around the player which I think is part of the cause of the problem. I think the main issue ( I may be very wrong) is that I'm using Quaternion.LookRotation which is causing my character to lie flat on his front when I look down. I've mulled over it for hours! How could I fix this?
//Calls the function that controls camera 'zoom'
CameraZoom(cam, 60.0f, 40.0f);
//Controls the camera zoom by using zoom as the field for the z axis
playerCamera.transform.localPosition = new Vector3(0, 0, zoom);
//Move the camera
mouseX += Input.GetAxis("Mouse X") * mouseSensitivity;
mouseY -= Input.GetAxis("Mouse Y") * mouseSensitivity;
//Clamp up and down movement of the camera
mouseY = Mathf.Clamp(mouseY, -60, 60);
//Rotate center point forwards and face camera towards center
playerCamera.LookAt(centerPoint);
centerPoint.localRotation = Quaternion.Euler(mouseY, mouseX, 0);
//Check to see if shift is being pressed to change speed to run speed
//Make the center point follow the player
centerPoint.position = new Vector3(character.position.x, character.position.y + cameraYOffset, character.position.z);
//Controls the facing direction of the player
Vector3 moveDirection = new Vector3(Input.GetAxis("Horizontal") * moveSpeed, 0, Input.GetAxis("Vertical")).normalized * moveSpeed;
moveDirection = transform.TransformDirection(moveDirection);
Quaternion rot = Quaternion.LookRotation(moveDirection);
Quaternion playerRotation = character.rotation;
playerRotation = Quaternion.Slerp(character.rotation, rot, Time.deltaTime * rotationSpeed);
moveDirection.y -= gravity * Time.deltaTime;
Your answer
Follow this Question
Related Questions
How do i rotate based on direction character is moving in 1 Answer
How to Logically Match Ground Slope While Using This Code? 1 Answer
How can I move an object to click point in 2D? 0 Answers
Why is my character rotating up/down, but not left/right? 1 Answer
Gradual Rotation of Character from 2 Axis Input Sources 0 Answers