Если вы хотите ограничить угол поворота только в горизонтальной плоскости (влево и вправо), вы можете использовать Mathf.Clamp для ограничения значения угла. Вот пример кода:
void Update()
{
Vector3 angle = transform.eulerAngles;
if (Input.GetKey(KeyCode.W))
{
transform.position += transform.forward * Time.deltaTime * _speed;
}
if (Input.GetKey(KeyCode.S))
{
transform.position -= transform.forward * Time.deltaTime * _speed;
}
if (Input.GetKey(KeyCode.A))
{
angle.y -= 0.1f;
}
if (Input.GetKey(KeyCode.D))
{
angle.y += 0.1f;
}
angle.y = Mathf.Clamp(angle.y, -30f, 30f); // Ограничение угла поворота в пределах -30 и 30 градусов
transform.eulerAngles = angle;
}
Теперь угол поворота будет автоматически ограничен в пределах -30 и 30 градусов, используя Mathf.Clamp. Если значение угла превышает пределы, оно будет автоматически установлено на ближайшее допустимое значение.