Tengo un personaje que camina hacia puntos aleatorios en mi habitación en Unity. El problema es que siempre mira en una dirección, quiero escribir en C # un código que obtenga la dirección que enfrenta el personaje actualmente y la posición del objetivo, luego calcula el ángulo entre ellos para convertir esa cantidad en el personaje. He probado la LookAt
función, pero eso hace que el personaje camine en forma de arco hacia el objetivo, lo que se ve muy poco natural, ya que mira constantemente al objetivo.
9
Respuestas:
La función LookAt hace esto por usted. Es posible que lo esté usando incorrectamente o que algo esté mal con su dirección si tiene problemas con esto. También puedes probarlo de esta manera:
Ahora puede avanzar rápidamente hacia esa rotación, o puede hacerlo lentamente con el tiempo. (lentamente con el tiempo significa que todo este código debe entrar en la función de actualización)
Para 2D, otro método alternativo sería Atan2 :
fuente