J'ai un personnage qui marche vers des points aléatoires dans ma chambre dans Unity. Le problème est qu'il fait toujours face à une direction, je veux écrire en C # un morceau de code qui obtiendra la direction dans laquelle le personnage est actuellement face et la position de la cible, puis calcule l'angle entre eux pour faire tourner le personnage de cette quantité. J'ai essayé la LookAt
fonction, mais cela fait marcher le personnage en forme d'arc vers la cible, ce qui semble très peu naturel car il regarde constamment la cible.
9
Réponses:
La fonction LookAt fait cela pour vous. Vous l'utilisez peut-être mal ou quelque chose ne va pas avec votre direction si vous rencontrez des problèmes avec cela. Vous pouvez également l'essayer de cette façon:
Vous pouvez maintenant soit vous aligner sur cette rotation, soit le faire lentement au fil du temps. (lentement au fil du temps signifie que tout ce code doit entrer dans la fonction de mise à jour)
Pour 2D, une autre méthode alternative serait Atan2 :
la source