Raumschiffsteuerung



  • Am besten du arbeitest mit Quaternions. Such im Web danach.



  • Mist, finde den blöden Code nicht mehr 🙄
    Also im Prinzip funktioniert es etwa so:

    Du definierst drei Vektoren für dein Raumschiff. Diese Beschreiben quasi dessen Koordinaten-System. Das heisst ein Vektor zeigt nach Vorn, einer nach Oben und einer zur Seite. Wenn du jetzt dein Raumschiff drehen willst, nutzt du dafür nicht OpenGL sondern drehst die Vektoren selbst. Diese neu Berechneten Vektoren setzt du dann in die akuelle Modelview-Matrix ein (Musst mal in der OGL Referenz nachschauen welche Felder der Matrix die Achsen des Koordinatemsystems darstellen). Dann multiplizierst du nur noch die aktuelle Matrix mit dieser modifizierten und fertig. Easy oder ? 😃
    Klingt total schräg, aber wenn ich dir den Code zeige (den ich hoffentlich noch finde 😃 ) wirst du dich wundern wie simpel es ist.



  • Cpp_Junky schrieb:

    Mist, finde den blöden Code nicht mehr 🙄
    Also im Prinzip funktioniert es etwa so:

    Du definierst drei Vektoren für dein Raumschiff. Diese Beschreiben quasi dessen Koordinaten-System. Das heisst ein Vektor zeigt nach Vorn, einer nach Oben und einer zur Seite. Wenn du jetzt dein Raumschiff drehen willst, nutzt du dafür nicht OpenGL sondern drehst die Vektoren selbst. Diese neu Berechneten Vektoren setzt du dann in die akuelle Modelview-Matrix ein (Musst mal in der OGL Referenz nachschauen welche Felder der Matrix die Achsen des Koordinatemsystems darstellen). Dann multiplizierst du nur noch die aktuelle Matrix mit dieser modifizierten und fertig. Easy oder ? 😃
    Klingt total schräg, aber wenn ich dir den Code zeige (den ich hoffentlich noch finde 😃 ) wirst du dich wundern wie simpel es ist.

    Ich fleh dich an, *finde ihn* 😃

    aber danke schonmal



  • Ach, wofür brauchst du den Code? Tippen kannst du ja wohl selbst? Genauso wenig musst du die transformierten Vektoren mit dir rumschleppen. Das einzige was du brauchst ist die Transformationsmatrize die sich als Produkt aller Einzelbewegungen ergibt. Damit kannst du dann ja jederzeit jeden Vektor transformieren, egal ob up, front oder Bla...

    Bye, TGGC (Demo or Die)



  • TGGC ist immer so unglaublich freundlich :p



  • Taelan schrieb:

    TGGC ist immer so unglaublich freundlich :p

    Wenn du Streicheleinheiten für dein Selbstwertgefühl willst, ist dieses Forum kaum der richtige Ort. TGGC hat sich sinnvoll geäußert und keineswegs geflamed.

    @xindon: Wie gesagt würde ich mir mal Quaternions ansehn. http://www.gamedev.net/reference/list.asp?categoryid=28#250
    Damit hast du keinen Gimbal Lock.



  • Taelan schrieb:

    TGGC ist immer so unglaublich freundlich :p

    *Taelan-mal-über's-Köpfchen-tätschel* 🤡



  • Okay, erstmal vielen Dank euch allen. Um ehrlich zu sein, hab ichs mir nicht so heftig vorgestellt. Da ich noch nichtmal Vektoren in der Schule hatte bis jetzt, sollte ich mich wohl besser bis nächstes Jahr (bin jetzt 10.) gedulden, um das oben genannte verstehen zu können.

    Trotzdem danke

    http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=Quaternion_Camera_Class
    hab hier noch was zum Thema gefunden



  • Bis du 10 Jahre alt oder in der 10ten Klasse?
    Falls Ersteres zutrifft, dann mal ein fettes Respekt.
    Bleib am Ball.

    Jedoch kann ich mich nicht daran erinnern, dass man Vektoren in der 5ten Klasse hatte. 🕶



  • Paul_C. schrieb:

    Bis du 10 Jahre alt oder in der 10ten Klasse?
    Falls Ersteres zutrifft, dann mal ein fettes Respekt.
    Bleib am Ball.

    Jedoch kann ich mich nicht daran erinnern, dass man Vektoren in der 5ten Klasse hatte. 🕶

    *lach* wie geil

    Nein, ich bin jetzt in der 10. Klasse; es ist ein Punkt hinter der 10.
    Man fängt in der 11. Klasse mit linearer Algebra an, soweit ich weiß.


Anmelden zum Antworten