[RESOLVIDO] - Unity - Problemas com o Quaternion

Pessoal, estava enfrentando problemas com o Quaternion. Meu método estava nessas duas formas:

public void parar(GameObject objPersonagem, Vector3 anguloFinal) {
   Quaternion rotacaoFinal = Quaternion.Euler(anguloFinal);
   objPersonagem.transform.rotation = Quaternion.Lerp(objPersonagem.transform.rotation, rotacaoFinal, velocidadeGiro * Time.deltaTime);
   if(objPersonagem.transform.rotation == rotacaoFinal) {
      // Código
   }
}

public void parar(GameObject objPersonagem, Vector3 anguloFinal) {
        if(anguloFinal == anguloPraEsquerda) {
            Quaternion rotacaoFinal = Quaternion.LookRotation(objPontoBordaEsquerda.transform.position, Vector3.up);
            objPersonagem.transform.rotation = Quaternion.Lerp(objPersonagem.transform.rotation, rotacaoFinal, velocidadeGiro * Time.deltaTime);
            if(objPersonagem.transform.rotation == rotacaoFinal) {
                // Códgo
            }
        }
}

Mas na hora de fazer “objPersonagem.transform.rotation” igual a “rotacaoFinal”, eu não tinha resultados iguais, por isso não estava conseguindo finalizar o método.

Então troquei o “Lerp” por “RotateTowards” e resolveu. Fica aí o tópico pra ajudar quem estiver com o mesmo problema!