Раньше я был слепым.
Казалось бы, проблема в структуре вашего кода l ie. Посмотрите на утверждение if
.
if (euler.z > 180) euler.z = euler.z - 360;
{
euler.z = Mathf.Clamp(euler.z, -35, 35);
transform.eulerAngles = euler;
}
Это не то, что вы думаете. Давайте перепишем с другим форматом, но с тем же точным кодом:
if (euler.z > 180)
euler.z = euler.z - 360;
{
euler.z = Mathf.Clamp(euler.z, -35, 35);
transform.eulerAngles = euler;
}
Здесь на самом деле происходит то, что из-за того, что строка после вашего оператора if не находится в фигурных скобках, этот код интерпретируется как:
if (euler.z > 180) {
euler.z = euler.z - 360;
}
euler.z = Mathf.Clamp(euler.z, -35, 35);
transform.eulerAngles = euler;
Технически, последние две строки находятся в другой области видимости, но это не так уж важно.
Попробуйте переформатировать ваш код с предполагаемой структурой и, надеюсь, что это должно сделать.