Fahrzeugleistung anpassen
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.
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
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)
