Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

flux

Treue Seele

  • »flux« ist der Autor dieses Themas
  • Private Nachricht senden

1

10.11.2010, 23:25

Mit Kamera durch Welt fliegen

Hallo Zusammen.

Ich bin dabei ein kleines Spiel in OpenGL/C++ zu machen.
Jetzt möchte eine Kamera einfügen, mit der ich in der Welt herumfliegen kann.

Das habe ich mir so gedacht:
- Mit der Maus kann ich mich umschauen
- Mit der Tastatur kann ich mich nach Vorne bzw. nach Hinten in Blickrichtung bewegen

Das Umschauen funktioniert auch schon, aber wie kann ich mich denn in die Richtung bewegen?
Dazu müsste ich doch, denke ich, nach jeder Bewegung, die neue Position berechnen, damit ich beim nächsten Schritt von da aus in eine andere Richtung gehen kann.
Wie berechne ich denn dann die neue Position?

Gruß
phil

n0_0ne

1x Contest-Sieger

  • Private Nachricht senden

2

11.11.2010, 10:14

Warum speicherst du denn nicht die anfangsposition und rechnest dann immer deine bewegungen drauf?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

3

11.11.2010, 11:05

Du musst doch die Richtung in die die Kamera schaut bereits kennen um deine Kameramatrix zu bauen. Wo genau liegt jetzt also dein Problem?

flux

Treue Seele

  • »flux« ist der Autor dieses Themas
  • Private Nachricht senden

4

11.11.2010, 20:14

Hmm, ich hab festgestellt, dass auch das Umschauen falsch ist.

Also ich habe die Rotation um die X- und Y- Achse, die Position der Kamera (x, y, z) und ich möchte 1 in Blickrichtung gehen.
Wie berechne ich dann die neue Position bzw. wie bekomme ich die neue Position aus der Kameramatrix (Die Modelview Matrix, oder?)?

Wie würdet ihr so eine Kamera erstellen?

n0_0ne

1x Contest-Sieger

  • Private Nachricht senden

5

11.11.2010, 22:42

Ich verstehe dein problem immer noch nicht so ganz, willst du jetzt wissen, wie man die neue position bestimmt, oder wissen, wie man eine matrix berechnet, die dir die kamera simuliert? Suchst du vielleicht sowas wie gluLookAt(...)?

Außerdem gibt es auch nicht wirklich "die" modelviewmatrix, es handelt sich dabei nämlich um einen stack, was dir bewusst sein sollte, wenn du zusätlich zur kamera auch noch mehrere objekte transformieren willst.

Ich würde dir mal http://www.opengl.org/resources/faq/technical/viewing.htm empfehlen

flux

Treue Seele

  • »flux« ist der Autor dieses Themas
  • Private Nachricht senden

6

13.11.2010, 12:06

Danke für die Antworten.
Sorry, dass ich mein Problem nicht genau beschreiben konnte. Ich wusste selber nicht, wo mein Problem liegt... lag letztendlich an einer falschen Berechnung (falscher Winkel).

Werbeanzeige