Entwicklung eines Flugsimulators basierend auf einem ...
Entwicklung eines Flugsimulators basierend auf einem ...
Entwicklung eines Flugsimulators basierend auf einem ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Kapitel 4. Umsetzung in eine Software<br />
von Paketen aus dem Internet nachinstallieren kann. — Die Rechtecke sind Programmmodule.<br />
Im Verl<strong>auf</strong> des Kapitels werden wir uns nun näher mit den einzelnen Modulen<br />
befassen. Das Input Module (gelb) stellt die Eingabegeräte wie Tastatur, Joystick oder<br />
Maus als allgemeine Schnittstelle zur Verfügung. Siehe Abschnitt 4.3.1 <strong>auf</strong> Seite 39. Im<br />
Physik Module (violett) finden nicht nur alle Berechnungen statt. Es widerspiegelt auch<br />
den gesamten Inhalt des Spieles. Das Logik Modul (blau) ist für den höheren Zusammenhang<br />
zuständig. Dieses führt im Simulationsprozess das Zepter. Schlussendlich wird mit<br />
Hilfe des Grafik Modules der Spielinhalt <strong>auf</strong> dem Bildschirm dargestellt. Zur Vollständigkeit<br />
ist noch das Recorder Module eingetragen, es zeichnet alle Vorgänge <strong>auf</strong>, bzw.<br />
spielt diese wieder ab. Mit diesem Module ist es möglich eine Session abzuspeichern oder<br />
was auch theoretisch möglich wäre: Ein Multiplayerspiel mit mehreren Piloten, die an<br />
verschiedenen Computern sitzen. Dieses Modul ist fakultativ, d.h. es wird nicht zwingend<br />
benötigt.<br />
Nachdem alle Komponenten mit den Daten initialisiert wurden startet die Simulation.<br />
Der Eingabemanager liefert Informationen in der Form “X-Achse des Joysticks steht<br />
bei 0.6”. Je nach Flugzeugmodell wandelt das Physikmodul diese Information in “Seitenruder<br />
steht bei 8 ◦ ” um. Jetzt wird von jedem Flügel und Antrieb die resultierende<br />
Kraft ausgerechnet. Die Kräfte werden dann Kombiniert und unter Berücksichtigung der<br />
Trägheit in Translation und Rotation umgewandelt. Das Updatescript nimmt nun Informationen<br />
der Physikengine (Rudereinstellung, Position, Orientierung) um bestimmte<br />
Elemente des Flugzeugs zu transformieren: Die Klappe des Seitenruders wird somit um<br />
8 ◦ gedreht. Die Instrumente im Cockpit werden <strong>auf</strong> dieselbe Weise aktualisiert. Der<br />
Abl<strong>auf</strong> der Simulation wird mit dem Logik Modul gesteuert. Es beinhaltet Routinen<br />
um zum Beispiel <strong>auf</strong> einen Flugzeugcrash zu reagieren (z.B. Rückkehr zum Hauptmenü).<br />
Dieses Modul befindet sich in der beiliegenden Version des Simulators erst noch im<br />
Anfangsstadium.<br />
4.3 Module<br />
In Abbildung 4.2 <strong>auf</strong> Seite 40 sind die Vererbung und Verweise der Klassen dargestellt,<br />
die mit der Simulation direkt zusammenhängen. Das Schema ist nicht abgeschlossen<br />
und es ginge eigentlich sehr viel weiter. Ich habe es vereinfacht, um den Rahmen meiner<br />
Arbeit nicht zu sprengen, aber vor allem um den Leser nicht unnötig zu ermüden. Es<br />
vermittelt trotzdem die nötigen Informationen um meine Implementierung zu erklären.<br />
Der Eingabemanager ist dazu da, die Eingabegeräte wie zum Beispiel die Tastatur oder<br />
den Joystick zu abstrahieren. Dieser Schritt ist nötig, da im Allgemeinen die Achsen- und<br />
Knopfbelegung der Joysticks je nach Hersteller variieren. Im physikalischen Teil werden<br />
die Komponenten und deren Eigenschaften definiert. Im grafischen Teil werden die Materialien<br />
und Objekte in die 3D-Engine geladen. Sie ist dafür verantwortlich die Spielwelt<br />
darzustellen. Danach werden die Verbindungen zwischen den Modulen hergestellt.<br />
4.3.1 Input Module<br />
Das Bild 4.3 <strong>auf</strong> Seite 41 versucht die Struktur der Input Engine zu erklären. Leider sind<br />
die Joysticks je nach Hersteller verschieden, und benötigen unterschiedliche Konfiguration.<br />
Um dem Spieler trotzdem grösstmögliche Anpassung zu gewährleisten entwickelte<br />
<strong>Entwicklung</strong> <strong>eines</strong> <strong>Flugsimulators</strong> <strong>basierend</strong> <strong>auf</strong> <strong>einem</strong> physikalischen Modell 39