Fahrzeugleistung anpassen

Aus OMSIWiki
Wechseln zu:Navigation, Suche

Hinweis: Dieser Artikel wurde noch nicht ins Englische übersetzt!

In diesem Artikel wird beschrieben, wie in OMSI die Fahrzeugleistung berechnet wird und wie man diese anpassen kann.

Überblick OMSI.exe <=> Script

Zunächst ist zu unterscheiden, welcher Teil der Fahrzeugphysik in der OMSI.exe berechnet wird und welcher Teil im Script berechnet wird - denn: Alle physikalischen Eigenschaften, die OMSI.exe zur Physikberechnung verwendet werden, werden über die *.ovh- oder *.bus-Datei justiert, wohingegen alle Eigenschaften, welche im Script zur Anwendung kommen, in den dortigen Konstanten-Dateien eingetragen sind.

Interaktionen im Bus

Die OMSI.exe berechnet

  • die Interaktion Reifen <=> Straße
  • die Bewegung des Fahrzeuges infolge dieser Interaktion
  • Kollisionen
  • die KI, sofern das Fahrzeug ein KI-Fahrzeug ist
  • Interaktion mit anderen KI-Fahrzeuge und Fußgängern sowie Fahrgästen am oder im Bus

Das Script berechnet

  • das Drehmoment, welches an den Rädern anliegt, sowie die Bremskraft
  • Cockpitanzeigen
  • Türen
  • Heizung / Klimaanlage
  • Sonstige Systeme im Fahrzeug

Da es in diesem Artikel vor allem um die Fahrzeugleistung geht - also letztendlich darum, was für ein Drehmoment am Rad auftritt - haben wir es fast ausschließlich um eine scriptseitige Programmierung zutun.

Das war auch genauso beabsichtigt: Denn bekanntlich gibt es verschiedene Antriebsformen, welche ihrerseits auch in den Details sehr unterschiedlich sein können: Vor allem im Bereich der Automatikgetriebe gibt es herstellerabhängig prinzipielle Unterschiede, welche sich nicht bloß durch Anpassung von Konstanten darstellen lassen, sondern einen anderen Code benötigen.

Rad-Script-Interaktionen

Interaktionen Rad <=> Script

In der nebenstehenden Abbildung ist nun aufgegliedert, welche Interaktionen zwischen physikalisch simuliertem Rad (in der OMSI.exe) und dem Script geschehen:

  • Jedes Rad liefert seine Drehzahl (Variablen: n_Wheel als Durchschnittswert oder pro Rad Wheel_RotationSpeed_#_L/R, Einheit: Umdrehungen pro Minute)
  • Das Script kann jedem Rad ein gewisses Drehmoment auferlegen (Variable: M_Wheel als Summe auf alle als angetriebene ausgewiesenen Achsen, Einheit: kNm)
  • Ferner kann das Script allen Rädern zusammen oder pro Rad eine Bremskraft auferlegen (Variable: Brakeforce als Kraft für alle Räder zusammen oder Axle_Brakeforce_#_L/_R pro Rad, Einheit: N)