Gleichmäßiges Drehen eines Entitys zu einem anderen
Übersicht

![]() |
joshmamiBetreff: Gleichmäßiges Drehen eines Entitys zu einem anderen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey Community,
Ich habe folgendes Problem: In dem Flugzeug-Spiel das ich gerade programmiere sollen die Gegner den Spieler "verfolgen". Allerdings sollen die Gegner-Flugzeuge natürlich auch nur ein begrenztes Handling haben, also kann ich das ganze nicht mit PointEntity ![]() Es kann gut sein, dass es einen einfachen mathematischen Berechnungsweg gibt, den ich in der Schule noch nicht hatte, deswegen frage ich ja euch ![]() |
||
Mfg Joshmami |
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Winkel ausrechnen, dann mit TurnEntity langsam drehen. | ||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
joshmami |
![]() Antworten mit Zitat ![]() |
---|---|---|
Klingt einfach, ist es aber nicht ![]() 1. Wie soll man den Winkel berechnen? 2.Da sich beide Entities mit möglicherweise unterschiedlicher Geschwindigkeit bewegen, ändert sich ja auch der Winkel ständig 3. Ist das ganze ja auch noch im 3-Dimensionalem Raum, daher bräuchte man eher mindestens 2 Winkel |
||
Mfg Joshmami |
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würd mir das so vorstellen (2D):
![]() Winkel A und B kann man dann mit Hilfe von sin/cos/tan ausrechnen. |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
joshmami |
![]() Antworten mit Zitat ![]() |
---|---|---|
Habe das ganze jetzt nach langen vergeblichen Bemühungen Tobchens im Chat doch mit AlignToVector gelöst, wie Xeres mir geraten hatte.
Danke an alle, die sich darüber Gedanken gemacht haben ![]() |
||
Mfg Joshmami |
![]() |
darth |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aaaaw.. und grad jetzt wo ich fertig bin ![]() Trotzdem: BlitzBasic: [AUSKLAPPEN] Graphics 800, 600, 0, 2 Prinzipiell: (1) Man berechnet den Winkel zwischen der Geschwindigkeit des Flugzeugs (das hat ja eine Richtung nach vorne, also ausgedrückt im Winkel phi) V (2) und dem Vektor zum Ziel D. Weil der generelle ACos(V*D) nur positive Zahlen liefert, (3) drehe ich D ins System von V (d.h V = [1;0]) und nehme dann den ATan2(T) vom gedrehten Vektor T. (4) Dann ein bisschen croppen auf eine maximale Winkelgeschwindigkeit et voilà. Der olle Xeres hat sich beschwert, dass meine Erklärung nicht verständlich sei (lern Mathe, faules Aas!), daher ein Erklärbild (ohne Elefanten, das überlasse ich den Trollen, lulz!): Erweitern zu 3D ist straightforward, man betrachtet das Problem separat auf zwei Ebenen (einmal XZ, einmal YZ - oder permutiert, jenachdem wie man sein Flugzeug ausrichtet). MfG, Darth |
||
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was spricht gegen DeltaYaw![]() ![]() |
||
MrKeks.net |
![]() |
joshmami |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oha, das hört sich besser regulierbarer als AlignToVector an und ist für mich weniger kompliziert als Darth's Riesenlösung ![]() Danke ![]() |
||
Mfg Joshmami |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group