Programmiersprache funktioniert wie folgt: Man kann reinschreiben, was man will, das Programm ignoriert alles AUßER die Schluesselwörter wie [mesh], wenn sie am Anfang der Zeile stehen! Die Schluesselwörter muessen außerdem alleine in ihrer Zeile stehen, nur dann werden sie erkannt. Ist dem so, werden die entsprechenden folgenden Zeilen ausgelesen, um die Parameter zu finden, d.h. diese muessen dann direkt im Anschluss und zeilenweise alleine folgen! Wurde die Anzahl der Zeilen abgearbeitet, sucht das Programm wieder nach Schluesselwörtern. Im Allgemeinen spielt die Reihenfolge keine Rolle, außer bei der Beschreibung von Arrays, wie den Gängen oder den Meshs. Es folgt nun der SD200 von Ruediger H. aus B.: [friendlyname] ist der Abschnitt, wo {Hersteller} und {Typ} genannt wird. {Anstrich} ist der Name des Standardanstrichs (wenn der Texturtausch nicht aktiv ist) [friendlyname] MAN Bremen A37 - Lions City AI [description] MAN Lions City A37 Die Bremer Straßenbahn AG erweiterte 2009 ihren Fuhrpark mit neuen Fahrzeugen vom Hersteller MAN. Die neuen Busse vom Typ "Lions City" verfügen über den höchsten Umweltstandard (EEV) und bieten den Fahrgästen einen hohen Komfort. Die Fahrzeuge sind mit einem VDV-Fahrerarbeitsplatz, einem Automatikgetriebe, einem Hublift und einer Klimaanlage ausgerüstet. Technische Daten: Hersteller / Typ: MAN Lions City A37 Baujahr: 2009 Fahrzeuglänge: 12,00 m Fahrzeugbreite: 2,50 m Wagenummern: 4337 - 4351 Motor: D0836 LOH 60 (EEV) Leistung: 213kW (290PS) Sitzplätze: 31 + 4 Klappsitze [end] [number] aktiviert die Zuweisung von Nummern {colorscheme specific numbers path} Pfad zu den *.org-(Omsi-Registration)-Dateien, welche fuer die Vergabe von Nummern zuständig sind. Aufbau einer Nummernliste: in der ersten Zeile kommt der Name des Anstrichs (wie er auch im CTC angegeben wird), dann beliebig viele zulässige Nummern. Steht in der ersten Zeile nichts, dann handelt es sich um die "Hauptliste", welche fuer alle Anstriche gilt, fuer welche keine Nummern spezifiziert werden. [registration_automatic] aktiviert die Zuweisung der Kennzeichen im automatischen Modus {regPrefix} Präfix vor Nummer am Kennzeichen. Soll bspw. Nr 2000 das Kennzeichen "D-A 2000H" bekommen, ist der Präfix "D-A " {regPostfix} Postfix hinter Nummer am Kennzeichen. Im obigen Beispiel "H". [registration_list] öffnet die angegebene Datei, um die Kennzeichenzuweisung nach den Nummern vorzunehmen. Der Index läuft hierbei parallel zu jener *.org-Datei, welche die Hauptliste enthält. {filename} [registration_free] aktiviert die freie Kennzeichenzuweisung. Im AI-Modus wird ein Kennzeichen der Map-Registrations-Datei verwendet, der User kann es fuer sein Fahrzeug frei wählen. [number] Regs_NL263.org [registration_free] [registration_automatic] HB-BC [kmcounter_init] 2009 60000 [sound_ai] sound\sound_NL263_ai.cfg [model] model\model_NL263_AI_K++.cfg [paths] model\paths_NL2x3.cfg [passengercabin] model\passengercabin_NL263.cfg //////////////////////////////////////////////////////// Scripts //////////////////////////////////////////////////////// [varnamelist] 5 script\AI\AI_varlist.txt script\AI\antrieb_varlist.txt script\AI\engine_varlist.txt script\KruegerMatrix\Vmatrix_varlist.txt script\visual_varlist.txt [stringvarnamelist] 2 script\AI\AI_stringvarlist.txt script\KruegerMatrix\Vmatrix_stringvarlist.txt [script] 4 script\AI\AI_Main.osc script\AI\antrieb_D854.osc script\AI\engine_solo.osc script\KruegerMatrix\VMatrix.osc [constfile] 3 script\AI\engine_constfile.txt script\AI\antrieb_constfile.txt script\KruegerMatrix\Vmatrix_constfile.txt //////////////////////////////////////////////////////// Kameras *NEU01* //////////////////////////////////////////////////////// Folgender Befehl fuegt eine Kamera hinzu. Die Reihenfolge entscheidet darueber, in welcher selbigen die Kameras später erscheinen. _fahrer heißt, dass es sich um eine Fahrersicht handelt. Später wird dem _fahrgast hinzugefuegt werden, welcher erst durch einen grundsätzlichen Wechsel der Perspektive aktiviert wird und welcher nicht die Ehre hat, auf einem Isri 200 zu sitzen... * x (lateral) * y (longitudinal) * z (vertikal) * dist, d.h. wie weit befindet sich das Auge vor dem Halsgelenk ;-) vgl. Außensicht: hier ist die Distanz variabel und normalerweise einige Dekameter positiv, sodass der Mittelpunkt (durch x,y,z) in Form des Busses sichtbar und zentriert ist. Beim Fahrer sollte der Wert ein wenig negativ sein, da sich der Kopf nicht ums Auge sondern um eine Punkt, ca. 6cm dahinter dreht ;-) * sichtwinkel: Bildausschnitt in Grad, fuer Fahrer normalerweise 52°, normal ist jedoch 45°. * Normale Sichtausrichtung in Querrichtung in ° * Normale Sichtausrichtung in vertikale Richtung in ° 0: Blick nach schräg links [add_camera_driver] -0.74279 5.15344 1.92375 -0.06 48 -60 -5 1: Blick in den linken Spiegel [add_camera_driver] -0.74279 5.15344 1.92375 -0.06 48 -20 5 2: Blick nach vorne (std) [add_camera_driver] -0.74279 5.15344 1.92375 -0.05 51 0 -8 3: Blick in den rechten Spiegel [add_camera_driver] -0.74279 5.15344 1.92375 -0.06 35 43 0 4: Fahrscheinverkauf-Sicht [add_camera_driver] -0.74279 5.35 1.92375 -0.05 51 65 -25 [view_ticketselling] 5: Blick zur Tuer [add_camera_driver] -0.74279 5.15344 1.92375 -0.06 55 85 -8 6: Panel-Zoom [add_camera_driver] -0.74279 5.4 1.92375 -0.06 48 0 -30 7: Fahrplan-Sicht [add_camera_driver] -0.74279 5.4 1.92375 -0.06 30 -25 -22 [view_schedule] ################ Passagiersichten ################ [add_camera_pax] 0.53588 3.60419 2.17466 -0.06 45 0 0 [add_camera_pax] 0.52057 0.2452 1.86093 -0.06 0 0 0 [add_camera_pax] 0 -0.76228 2.11051 -0.06 45 90 0 [add_camera_pax] -0.94027 -2.15245 2.14081 -0.06 45 5 0 [add_camera_pax] -1.02261 -3.84808 2.27738 -0.06 45 80 0 [add_camera_pax] 0 -5.2473 2.2 -0.06 45 5 0 Folgender Befehl setzt die Standardfahrerkamera: [set_camera_std] 2 Folgender Befehl setzt den Zentrierpunkt der Außenkamera: [set_camera_outside_center] 0 0 1.2 //////////////////////////////////////////////////////// Reflexionskameras *NEU01* //////////////////////////////////////////////////////// In dieser Sektion werden die Reflexionkameras gesetzt. Ist dieses Fahrzeug das eigene, wird aus einer jeden Kamera Perspektive die Szene gerendert und dann entsprechend aufsteigend in die Texturen mit den Namen "reflexion0.bmp", "reflexion1.bmp" usw. gespeichert, von wo aus dann auf die Textur zwecks eigentlichen Rendervorgang zurueckgegriffen werden kann. [add_camera_reflexion_2] -1.40993 6.12718 2.1532 -0.01 52 175 -15 8 [add_camera_reflexion] 1.41439 5.9804 1.99805 -0.01 52 -159 -15 [add_camera_reflexion] 1.43836 6.72 2.15502 -0.01 52 -162 -12 [add_camera_reflexion] -0.0797 5.94356 2.5284 -0.01 52 195 -15 [add_camera_reflexion] 0.12778 6.16361 2.21666 0 52 200 -15 [cog] 0 0 0.8 //////////////////////////////////////////////////////// Physikalische und geometrische Grunddaten //////////////////////////////////////////////////////// Masse in t: [mass] 10.5 Trägheitsmomente um x, y und z-Achse, also Quer-, Längs- und Hochachse um den Schwerpunkt in dieser Reihenfolge in t*m^2: 510 205 510 [momentofintertia] 600 90 400 Boundingbox des Busses *NEU01* Breite Länge Höhe Abstand des Mittelpunkts der Boundingbox vom Nullpunkt des lokalen Koordinatensystems auf Breitenachse in m (x) Abstand des Mittelpunkts der Boundingbox vom Nullpunkt des lokalen Koordinatensystems auf Längsachse in m (y) Abstand des Mittelpunkts der Boundingbox vom Nullpunkt des lokalen Koordinatensystems auf Hochachse in m (z) [boundingbox] 2.55 12.15 2.3 0 0.3 1.6 Höhe d. Schwerpunktes ueberm Boden: [schwerpunkt] 0.9 Rollwiderstand (konstant, wird demnächst eventuell geändert) als Kraft in N [rollwiderstand] 1545 Längskoordinate des Drehpunktes, wenn der Bus eine Kurve beschreibt: [rot_pnt_long] -2.400 Kehrwert des minimalen Lenkradiuses: (Berechenbar ueber die Formel: inv_turnradius = tan(alpha)/s, wobei alpha der maximale Winkel bspw. der Vorderachse und s deren Abstand zum Drehpunkt in Längsrichtung ist: [inv_min_turnradius] 0.13 [ai_deltaheight] -0.10 Folgende Sektion erzeugt nacheinander die Busachsen mit ihren Parametern. ACHTUNG: bei einem Fahrzeug mit unterschiedlich großen Rädern sollte zunächst die angetriebene Achse eingegeben werden, da die zuerst ein- gegebene Achse den Antriebsraddurchmesser vorgibt, d.h. das Getriebeuebersetzungsverhältnis zur Ge- schwindigkeit ist in Bezug auf die 0. Achse gemessen. Vorderachse: [newachse] Koordinate: achse_long 3.598 Breite der Auflagefläche beider Reifen, also ungefähr die Busbreite achse_maxwidth 2.5 achse_minwidth 2.0 Raddurchmesser der Räder dieser Achse achse_raddurchmesser 0.940 Federkonstante der Federung PRO SEITE in kN/m achse_feder 320 Höchstbelastung in kN achse_maxforce 140 Dämpferkonstante in kNs/m achse_daempfer 20 Ist diese Achse angetrieben? achse_antrieb 0 Hinterachse: [newachse] achse_long -2.329 achse_maxwidth 2.5 achse_minwidth 1.2 achse_raddurchmesser 0.940 achse_feder 420 achse_maxforce 166 achse_daempfer 20 achse_antrieb 1