Lisse rotation de caractère

Voici mon code pour déplacer dans les quatre directions cardinales:

    if (Input.GetKeyDown(KeyCode.RightArrow)){
        transform.forward = new Vector3(0f, 0f, 1f);
        }
    else if (Input.GetKeyDown(KeyCode.LeftArrow)){
        transform.forward = new Vector3(0f, 0f, -1f);
        }
    else if (Input.GetKeyDown(KeyCode.DownArrow)){
        transform.forward = new Vector3(1f, 0f, 0f);
        }
    else if (Input.GetKeyDown(KeyCode.UpArrow)){
        transform.forward = new Vector3(-1f, 0f, 0f);
        }

Mon personnage instantanément tourne dans les quatre directions de déplacement, Le problème que je vais avoir est d'essayer de comprendre comment je peux lisser entre les deux directions. Ce que j'essaie de dire c'est que si le personnage est vers le nord et que vous appuyez sur le bouton pour aller à l'ouest, au lieu de instantanément tournant à l'ouest, j'aimerais voir le caractère tourner doucement dans les degrés de la direction de l'ouest.

Ive de recherche et essayé de tutoriels, mais aucun d'entre eux travaillaient. Toute solution?

OriginalL'auteur SpicyWeenie | 2011-11-06