Реализую простую систему управления камерой от 1-го лица. При запуске сцены камера резко опускается на 90 градусов по X. Такой же код работает нормально в туториале с которого его копировал:
using UnityEngine;
public class MouseLook : MonoBehaviour
{
//скорость вращения
public float mouseSens = 100f;
// игрок
public Transform playerBody;
// угол вращения по X
float xRotation = 0f;
void Start()
{
// фиксирую курсор в центре
Cursor.lockState = CursorLockMode.Locked;
}
void Update()
{
// получаю ввод с мышки
float mouseX = Input.GetAxis("Mouse X") * mouseSens * Time.deltaTime;
float mouseY = Input.GetAxis("Mouse Y") * mouseSens * Time.deltaTime;
xRotation -= mouseY;
// проблема происходит из-за этой строчки кода которая должна ограничивать вращения по оси X
xRotation = Mathf.Clamp(xRotation, -90f, 90f);
transform.localRotation = Quaternion.Euler(xRotation, 0f, 0f);
playerBody.Rotate(Vector3.up * mouseX);
}
}