Ich habe einen Charakter, der zu zufälligen Punkten in meinem Zimmer in Unity geht. Das Problem ist, dass er immer in eine Richtung zeigt. Ich möchte in C # einen Code schreiben, der die Richtung, in die das Zeichen gerade zeigt, und die Position des Ziels ermittelt und dann den Winkel zwischen ihnen berechnet, um das Zeichen um diesen Betrag zu drehen. Ich habe die LookAt
Funktion ausprobiert , aber dadurch läuft der Charakter in einer Bogenform auf das Ziel zu, was sehr unnatürlich aussieht, da er ständig auf das Ziel schaut.
9
Antworten:
Die LookAt-Funktion erledigt dies für Sie. Möglicherweise verwenden Sie es nicht ordnungsgemäß oder es stimmt etwas nicht mit Ihrer Lenkung, wenn Sie Probleme damit haben. Sie können es auch so versuchen:
Jetzt können Sie entweder in Richtung dieser Drehung einrasten oder dies im Laufe der Zeit langsam tun. (Langsam im Laufe der Zeit bedeutet, dass der gesamte Code in die Aktualisierungsfunktion aufgenommen werden muss.)
Für 2D wäre eine andere alternative Methode Atan2 :
quelle