Как можно настроить данный код, чтобы при значении поворота по оси 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 <br/> <pre><code class="cs">[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);
}</code></pre> <br/> если с осью поворота не угадал то Vector3.up изменить на другую