Jump to content
Unity Insider Forum

KI soll auf den Spieler gucken, die Y Achse aber ignorieren


Alex88

Recommended Posts

Hallo zusammen, ich arbeite im Moment an der KI für mein Spiel und eigentlich funktioniert es auch gar nicht so schlecht, allerdings habe ich jetzt doch mal eine Frage.

 

Nach den üblichen if / else Anweisungen wie z.B. ob der Spieler in der Nähe ist, soll sich die KI in Richtung Spieler drehen. Das habe ich mit folgenden Scriptzeilen umgesetzt:

 

var target : Transform;
var rotateSpeed : float = 30.0;

...

// KI zum Spieler drehen
// ---------------------
var lookAtTarget = Quaternion.LookRotation(target.position - transform.position);
transform.rotation = Quaternion.Slerp(transform.rotation, lookAtTarget, Time.deltaTime * rotateSpeed);

 

Das klappt soweit auch wunderbar, nur dreht sich die KI auch auf der X und Z Achse, z.B. wenn der Spieler in ein Loch fällt, komplett mit. Das soll sie natürlich nicht machen. Ich habe zwar schon in der Script Reference geschaut, da ich mich mit Quaternions allerdings nicht gut auskenne, komme ich leider nicht weiter.

 

Wie könnte ich die zwei Achsen quasi blockieren? Bei normalen Rotationen wie transform.Rotate oder transform.eulerAngles wäre das ja einfach. :unsure:

 

 

P.S. Sorry wegen dem Titel, habe mich bei der Achse verschrieben!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...