Fortgeschrittene Interaktionstechnologien Final Project


Theorie:

Bei meinem Projekt handelt es sich um einen Fahrsimulator der es ermöglichen soll, die grundlegenden Funktion des Autofahrens zu erlernen. Das Projekt ist in VR umgesetzt, und bietet eine Anbindung an die Logitech SDK um ein G920 Lenkrad zu unterstützen. Mithilfe des Lenkrads und Shifters wird dem Nutzer so ein Gefühl gegeben, welches sehr ähnlich zum tatsächlichen Autofahren ist.

Um den Nutzer im Projekt eine klare Richtung zu geben was zu tun ist, hat er eine Liste an Aufgaben welche er abarbeiten soll. Diese Liste beinhaltet häufig auftretende Situationen und Vorgänge aus dem Straßenverkehr. Dinge wie anfahren, Schalten und das korrekte abbiegen mit gesetztem Blinker werden so an den Nutzer herangeführt.

Die Implementation bestand aus folgenden Abschnitten:

Der Komplexeste Abschnitt war dabei definitiv die implementierung der Fahrphysik. Hierbei war es wichtig, ein Gefühl zu vermitteln welches so realisitisch wie möglich ist. Wichtig war es, dass auch das Schalten zwischen verschiedenen Gängen die Fahrphysik beeinflusst. Hierbei habe ich verschiedene Ansätze probiert ein komplettes Fahrsystem zu simulieren. Es zeigte sich allerdings schnell, dass dies kein gutes Gefühl beim fahren gab.

Die finale Fahrphysik ist eine Mischung aus den Unity Wheel-Collidern und einer rudimentären Motor-Simulation. Dabei wird anhand des aktuellen Tempos des Autos eine Drehzahl berechnet. Mit dieser wird dann der Ton des Motors und das erzeugte Drehmoment berechnet. Mithilfe dieser Daten, und dem aktuell gewählten Gang wird dann dieses Drehmoment an die Wheel-Collider weitergeben. Wichtig war auch, dass die verschiedenen Gänge unterschiedliche maximale geschwindigkeiten hatten. Des Weiteren mussten die Gänge auch, wie in echt, einen Einfluss auf das Drehmoment nehmen.

Als Alternative zu der VR / Lenkrad Steuerung ist auch ein Fallback per Tastatur implementiert. Hierbei sind die Tasten wie folgt beleg:

Lenken: A /D Gas: W Bremse: S Blinken (Links/Rechts): Q/E Warnblinker: B Scheinwerfer: H In einen Gang schalten: 1-5, N und R Kupplung: C Tageszeit wechseln: L Wetter wechseln: K Motor Starten: Leertaste

Als Aufgaben für den Nutzer wurden die folgenden Aufgaben definiert:

Den Motor starten Anfahren In einen Gang schalten Links abbiegen (mit blinker) Rechts abbiegen (mit blinker) Eine Kreuzung gradeaus überqueren Am Stopschild halten und dannach die Kreuzung in irgendeine Richtung überqueren 5 Mal schalten ohne den Motor abzuwürgen Die Scheinwerfer in der Nacht einschalten Den Warnblinker aktivieren Das Haus auf dem Hügel erreichen Die Aufgaben basieren auf den wichtigstens und häufigst auftretenden Situationen des Autofahrens. Sie sollen also zumindest die absoluten Grundlagen des Autofahrens soweit vermitteln, dass die ersten Fahrstunden einfacher ausfallen.

Für diese Projekt verwendete Assets:

Auto-Modell

Sky-Box

RoadArchitect

Code

Download