jairogarcíarincón
La rotación del Jugador es más complicada, ya que en función de la dirección a la que se encuentre mirando, debemos rotarlo cuando pulsemos una de las teclas de dirección.
Además, si pulsamos dos teclas de dirección a la vez, el Jugador debe rotar teniendo en cuenta esas dos teclas.
No obstante, el proceso se puede simplificar mucho con el uso de la función Slerp de Unity, que nos permite rotar un objeto desde un punto a otro con una duración determinada. de este modo, bastaría con añadir el siguiente código dentro del método FixedUpdate de JugadorController:
//Rotar
if (movimiento != Vector3.zero)
{
transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(movimiento), 0.15f);
}
Publicado el 23 de Noviembre de 2024
unityanimaciónhumanoide3d