DredWulf
@DredWulf

Почему при запуске сцены камера смещается на 90* по оси X?

Реализую простую систему управления камерой от 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);
    }
}
  • Вопрос задан
  • 333 просмотра
Пригласить эксперта
Ответы на вопрос 1
@namee
дефолтное значение xRotation нужно поменять. Возможно в примере он пабликом был и было присвоено значение в редакторе.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы