Ich habe begonnen eine Art Flugzeugsimulation / Spaceshooter zu schreiben. Hierzu möchte ich natürlich möglichst elegant eine gescheite Kameraführung einbinden.
Ich habe mir die Kamera Tutorials und Beispiel Sources angesehen und fand dass das alles ein wenig zu kompliziert / komplex für meine Zwecke ist.
Prinzipiell soll es eine Kamera sein, die sich immer hinter dem bewegten Objekt befindet und somit die gleiche Ausrichtung (nur eine etwas andere Position) hat.
Zusätzlich wollte ich noch eine Art von Trägheit einbauen, sodass die Kamera nicht am Objekt (Flugzeug) "klebt". Ich habe bisher weder die Objekt, noch die Kameraklasse geschrieben, da ich erst einmal Ideen sammeln möchte, wie man dieses ohne großen Aufwand realisieren kann. Des weiteren habe ich vor, Newton in das Spiel zu integrieren. Da ich mich noch nicht viel mit Newton beschäftigt habe, muss ich ebenso darauf achten, dass Ausrichtungen und Position von vornherein Newton kompatible sind, sonst habe ich später nur unnötig Stress.
Wie wäre also eine solche Kamera zu definieren ? Position und Ausrichtung (beides als Vektor oder Ausrichtung in Winkeln ?). Die Ausrichtung sollte dann am besten vom selben Format sein, wie die des Objektes denke ich mal um den besten Effekt zu erzielen.
Wie würdet ihr das anstellen ? Muss ich zwingend Matrixmultiplikation einsetzen, bzw. wäre das sinnvoll ?
also ich hatte das alles mal ueber matrizenmultiplikationen, hab es dann aber doch wieder auf translates und rotates umgestellt.
inzwischen bin ich bei glulookat, was eigentlich ganz komfortabel ist. du kannst die position deiner camera angeben, der blickpunkt ist das object und den upvektor kannst du errechnen. ist für deine zwecke wahrscheinlich das einfachste
Registriert: Di Nov 07, 2006 13:37 Beiträge: 83 Wohnort: Partenheim
Ich, für meinen Teil, bekam mit gluLookAt mehr neue Probleme, als es mir gelöst hätte. Ich hab' mich aber auch auf eine Kamera beschränkt, die sich nicht um ihren eigenen Look-Vektor drehen kann. Das wird bei dir ja sowieso anders laufen.
Jedenfalls hab' ich meine Objekt- und Kamera-Klasse (da ich auch häufig Newton benutze) auf Matrizen aufgebaut. Das ist nun meiner Meinung nach sehr komfortabel und für die Arbeit mit Newton fast unerlässlich.
Zur Trägheit: Du könntest die Position deiner Kamera immer um einen konstanten Abstand von der Position deines Objektes entfernen und anschließend die Kamera auf dein Objekt ausrichten (ist einfacher, als es sich anhört). Eine andere Methode, von der ich auch erst letztlich gehört habe, wäre SLERP (spherical linear interpolation) mit Quaternions. Da müsstest du allerdings für die Newton-und OpenGL-Interaktionen die Quaternionen in Matrizen umwandeln.
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.