У меня есть объект, который я хочу плавно повернуть на 90 градусов при проверке условия.
У меня проблема в том, что вращение работает нормально и плавно, но объект не достиг конечного вращения(90 градусов), он достигает 81 градуса и останавливается!что не так в моем коде?
Сценарий:
void Update() {
if (Objects.Length == 0)
{
if (!Rotated)
{
StartCoroutine(RotateMe(Vector3.up * 90, 1f));
Rotated = true;
}
}
}
IEnumerator RotateMe(Vector3 byAngles, float inTime)
{
var fromAnglePlat = Platform.transform.rotation;
var toAnglePlat = Quaternion.Euler(Platform.transform.eulerAngles + byAngles);
for (var t = 0f; t < 1; t += Time.deltaTime / inTime)
{
Platform.transform.rotation = Quaternion.Slerp(fromAnglePlat, toAnglePlat, t);
yield return null;
}
}