Ich arbeite an einer Bewegungs-KI, bei der es keine Hindernisse gibt und die Bewegung auf die XY-Ebene beschränkt ist. Ich berechne zwei Vektoren, v , die Blickrichtung von Schiff 1 und w , wobei der Vektor von der Position von Schiff 1 zu Schiff 2 zeigt.
Ich berechne dann den Winkel zwischen diesen beiden Vektoren mit der Formel
arccos((v · w) / (|v| · |w|))
Das Problem, das ich habe, ist, dass arccos
nur Werte zwischen 0 ° und 180 ° zurückgibt. Dies macht es unmöglich zu bestimmen, ob ich nach links oder rechts abbiegen soll, um mich dem anderen Schiff zuzuwenden.
Gibt es einen besseren Weg, dies zu tun?
Mathf.DeltaAngle()
.