Вы можете сделать это, используя Сопрограммы и Slerp . Попробуйте это:
using System.Collection;
...
public Transform door;
public float degrees = -90f;
public float someSpeed = 0.08f;
IEnumerator OpenDoor ()
{
while (door.transform.localEulerAngles.y > degrees)
{
door.transform.localEulerAngles = Vector3.Slerp(door.transform.localEulerAngles
, new Vector3(0, degress - 0.2f, 0), someSpeed);
yield return new WaitForEndOfFrame();
}
yield break;
}
И там, где вам нужно, просто позвоните StartCoroutine(OpenDoor());
.
Надеюсь, это то, что вы хотите.