Не могу найти ошибку в коде поворота. Объект должен поворачивается между углами z>-90 z<90 на угол 0 z градусов, а между z<-90 z>90 на угол 180. С вторым условием он справляется, а с первым когда объект находится между -90 и 0 то он поворачивается на угол z=180 а так быть не должно. В чём ошибка?
вот код;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Rotation_Swap : MonoBehaviour
{
float smooth= 5.0f;
void Start()
{
}
// Update is called once per frame
void Update()
{
Vector3 LocalScale = Vector3.one;
if (transform.eulerAngles.z < 90 )
{
Quaternion target = Quaternion.Euler(0, 0, 0);
transform.rotation = Quaternion.Slerp(transform.rotation, target, Time.deltaTime * smooth);
LocalScale.y = +1f;
}
else if (transform.eulerAngles.z > -90 )
{
Quaternion target = Quaternion.Euler(0, 0, 180);
transform.rotation = Quaternion.Slerp(transform.rotation, target, Time.deltaTime * smooth);
LocalScale.y = -1f;
}
transform.localScale = LocalScale;
}
}