Как можно настроить данный код, чтобы при значении поворота по оси X равном -40° он оставался неизменным, а при значении 26° также не изменялся?
Для этого можно использовать код вот так: ```csharp using System.Collections; using System.Collections.Generic; using UnityEngine; public class RotateObject : MonoBehaviour { void Start() { } void Update() { float rotationX = transform.rotation.eulerAngles.x; if(rotationX < -40f || rotationX > 26f) { transform.rotation = Quaternion.Euler(-40f, transform.rotation.eulerAngles.y, transform.rotation.eulerAngles.z); } } } ``` Этот код будет проверять текущий угол поворота объекта по оси X и, если он меньше -40° или больше 26°, то объект будет поворачиваться обратно к данным значениям. Таким образом, объект будет оставаться на месте при достижении нужных значений.
При считывании мыши не надо домножать на дельту, там и так идет дельта от предыдущий позиции. Не совсем понял что вам тут нужно, по коду ограничить поворот 310-50
[SerializeField] float rotationSpeed = 360f; [SerializeField] float _inputPower=5f; float _inputY; private void Update() { _inputY -= Input.GetAxis("Mouse Y") * _inputPower; _inputY = Mathf.Clamp(_inputY, -50f, 50f); transform.rotation = Quaternion.RotateTowards(transform.rotation, Quaternion.Euler(Vector3.up * _inputY), rotationSpeed * Time.deltaTime); }
если с осью поворота не угадал то Vector3.up изменить на другую