Unity Mathf.Clamp() работает странно

У меня есть следующий код для управления персонажем:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace PrefabPlayer
{
    public class PlayerController : MonoBehaviour
    {
        public GameObject camera;

        public float turnSpeed;

        private void Start()
        {

        }

        private void Update()
        {
            Cursor.visible = false;
        }

        private void FixedUpdate()
        {
            float _cameraRotationX = Mathf.Clamp(camera.transform.localRotation.eulerAngles.x - turnSpeed * Input.GetAxis("Mouse Y"), 0f, 180f);

            transform.Rotate(0, turnSpeed * Input.GetAxis("Mouse X"), 0);
            camera.transform.localRotation = Quaternion.Euler(_cameraRotationX, 0, 0);
        }
    }
}

В строке, в которой я объявляю _cameraRotationX, Mathf.Clamp() работает неправильно. Я ограничиваю локальное вращение камеры от 0 до 180, однако, когда я выводил значение в консоль, оно не опускалось ниже 90, хотя минимальное ограничение - 0. Почему так происходит?

Обновлено: неправильно написал, оно никогда не поднимается выше 90. Но всё же смысл вопроса не меняет


Ответы (1 шт):

Автор решения: SSD

я видел что то похожее вот видео но на английском

вариант 1 вариант 2

→ Ссылка