schießen



  • hi!
    ich möchte auf tastendruck ein objekt von der kamera aus wegschießen, wie genau kann man das machen? muss ich dafür den richtungsvektor der kamera berechnen, also in der art Direction=OldKameraPos - KameraPos. oder wie muss ich das genau machen?



  • Musst dir von der Kamera einen Vektor in die Mitte des Viewports berechnen lassen!
    In die Richtung bewegst du das Objekt von der Kamera aus!
    ....
    Aber theoretisch müsste der Richtungsvektor der Kamera ausreichen!



  • einen Vektor in die Mitte des Viewports berechnen

    und wie mach ich das?
    thx im vorraus!!



  • Hi !

    Du musst die Kugel nicht von der Mitte des Bildschirmes aus starten. Es reicht wenn du sagst : Die Kugel startet 2 Einheiten vor dem Spieler, 3 Links, und 4 darüber. Spiele mit den Werten was rum, bis du genau den Lauf der Waffe triffst.

    Für die Behandlung des Schusses kann ich dir die Lektüre diverser Raycasting & Collisiondetection Artikel ans Herz legen.



  • ja, das wäre der nächste schritt aber zuerst mal muss ich das objekt ja in richtung kamera ausrichten (ja klar das geht in dem ich die rotation der camera übernehme, aber nehmen wir an ich habe keine kugel sondern einen strahl, ich kann diesem ja keine rotation zu weisen, wie kann ich also einen strahl in richtung kamera abschießen?

    A ist Camerapos
    aber was ist B??



  • A ist Camerapos
    B ist die Viewdirection, d.h. der Vektor der deine Blickrichtung angibt.



  • Du hast doch schon alle Daten, oder wie berechnest du die Viewmatrix?!



  • Er weiss es selber nicht. 😃



  • glRotatef(fupdown, 1.0f, 0.0f, 0.0f);
        glRotatef(fscenetory, 0.0f, 1.0f, 0.0f);
        glTranslatef(translx, transly, translz);
    

    Ich hab je gewusst, dass B die Blickrichtung ist, aber wie genau bekomme ich die?



  • Programmier dir mal eine eigene Kameraklasse, und lass diesen "3 Zeilenhack" bloß weg !!!
    Tutorials wirst du wohl zuhauf im Internet finden.

    Auch wenn alle über Stefan Zerbsts Programmierstyle schimpfen, seine Kameraklasse ist gut, also guck sie dir auch mal an 🙂 🙂

    [ Dieser Beitrag wurde am 14.01.2003 um 20:19 Uhr von Headhunter editiert. ]



  • *g* ich hab eine kamera klasse, ich wollt nur nicht die ganze posten allso hab ich nur das wichtige genommmen und das ist dieser 3 zahlenhack 🙂



  • Kenn mich mit OpenGL nicht aus, und bin auch kein Hellseher, weiss also nicht was deine Variabeln abgeben. Aber versuch einfach 'nen Vektor, der so positioniert ist, das er bei deinem untransformierten Modell entlang der Waffe geht, mit der Kameramatrix zu transformieren.

    Bye, TGGC


Anmelden zum Antworten