Ich habe mir einige Gedanken zu Ampelsplines und Omsi 2 gemacht. Ich selber habe mit Ampelsplines eigentlich keine Erfahrung, deshalb bin ich auf eure Hinweise angewiesen, sollte etwas falsch oder unverständlich sein!
Ampelsplines und Omsi 2. Was ist eigentlich das Problem?
In Omsi 2 werden die Kacheln erst während des Spiels geladen. Ampelsplines derselben Kreuzung verteilen sich aber manchmal über mehrere Kacheln. Das Ampelprogramm läuft ab dem Laden des Objekts, also hier zu unterschiedlichen Zeitpunkten. So kommt es, dass mehrere Verkehre gleichzeitig grün haben, obwohl sie sich kreuzen - das gibt Unfälle! Neu gebaute Strecken können ein wenig auf die Kachelgrenzen achten, bei bereits bestehenden Karten kann man das nicht nachträglich ändern. Marcel hat das Problem zwar schon lange erkannt, aber noch nicht behoben.
Ampelsplines Omsi 2-kompatibel machen!
Um die Ampelspline-Kreuzungen, die über mehrere Kacheln gehen, für Omsi 2 tauglich zu machen, müssen die Objekte "verschmolzen" werden. Diese Anleitung erklärt das Vorgehen Schritt für Schritt.
Zur Veranschaulichung habe ich eine einfache Kreuzung mit Ampelsplines ohne besonderen Schmuck gebaut. Das Bild ist (absichtlich) nach Norden ausgerichtet. Die gelbe Linie markiert die ungefähre Lage einer Kachelgrenze. Von jedem Ampelspline, also jedem blauen Kreuz müsst ihr jetzt die Koordinaten und die Drehung rausschreiben. Die Winkel sind in meinem Fall künstlich "gerade", dort sind üblicherweise ebenfalls Kommazahlen.
A1
18.34199
138.8315
0.1
330
A2
20.83111
134.8194
0.1
330
B
289.4411
100.9979
0.1
90
C
271.119
120.1156
0.1
180
2. Einheitliches Koordinatensystem
Diese Koordinaten stammen aus dem Koordinatensystem der jeweiligen Kachel. Die Werte müssen nun auf ein einheitliches System gebracht werden. Man könnte dazu zum Beispiel das Koordinatensystem der linken Kachel benutzen. Ich entscheide mich dazu, den Koordinatenursprung im Punkt X=0 und Y=100 der rechten Kachel zu nehmen. Das heißt, ich rechne alle Y-Werte minus 100. Bei der linken Kachel muss ich außerdem den X-Wert Minus 300 nehmen.
A1
18.34199
38.8315
0.1
330
A2
20.83111
34.8194
0.1
330
B
-10.5589
0.9979
0.1
90
C
-28.881
20.1156
0.1
180
3. Pfade im Kreuzungseditor
Diese Punkte wollen wir nun im Kreuzungseditor OmsiObjEditP.exe setzen. Dazu muss zunächst eine Datei erstellt werden, z.B. als Kopie des bisherigen Ampelsplines, mit neuem Namen und Anzeigenamen natürlich. Jetzt müssen zwei Dinge beachtet werden. Erstens, die Drehwinkel müssen -90° gerechnet werden, weil der Pfad der Ampelsplines nicht genordet ist. Zweitens möchten wir ja nicht den Mittelpunkt haben, sondern einen 3m langen Pfad erzeugen. Deshalb muss man von den umgerechneten Koordinaten aus einen 1,5m langen Pfad in die entgegengesetzte Richtung platzieren und von dort aus 3m in die ursprüngliche Richtung (den ersten Pfad anschließend löschen). Das macht man mit jedem Ampelspline, den man verschmelzen will (im Beispiel 4 Stück). Zur Kontrolle sollte man noch einmal schauen, ob die Pfade alle ins Kreuzungsinnere zeigen. Im Beispiel ist dies das Ergebnis:
Jetzt habt ihr aus mehreren Ampelsplines 1 Objekt gemacht. Nun könnte man auch alle invis_Splines des Kreuzungsinneren in den Kreuzungseditor übernehmen, damit z.B. Abbieger auf Gegenverkehr warten. Aber das hatten wir vorher auch nicht und wir sind faul! Nun muss den Pfaden noch ihre Ampelphase zugeordnet werden oder die Ampelschaltung ganz angepasst werden, dazu aber später mehr.
4. Austausch der Objekte
Achtung, Backup des Map-Ordners erstellen, hier können Dinge ganz böse schief gehen!
Das neu erstellte Objekt platziert ihr nun im Map-Editor, die Koordinaten entsprechen eurem gewähltem Ursprung und sollten von Hand eingegeben werden. Nun empfehle ich, die alten Ampelsplines in der Höhe zu verändern (z.B. +5m). Jetzt sind alle Abhängigkeiten neu zu setzen. Insbesondere das parent-to der Signalgeber muss geändert werden. Dabei aufpassen, dass die richtige Phase ausgewählt ist! Anschließend müssen die Fahrpläne angepasst werden, also die Tracks/Trips bzw. StationLinks. Erst dann dürfen die alten Ampelsplines gelöscht werden! Ein abschließender Blick auf die Verkehrsregeln schadet nicht. Die Kreuzung sieht jetzt so aus:
Die "Lücken" in den Pfaden gehören zum neuen Kreuzungsobjekt. Ihr seid nun fertig. Das geht, besonders beim ersten mal, nicht sehr schnell. Aber meistens muss man nur ein paar kritische Kreuzungen bearbeiten.
Exkurs Ampelschaltungen:
Nach dieser Prozedur ist die Kreuzung nicht nur Omsi 2-kompatibel. Ihr habt eine vollwertige Kreuzung in einer separaten Datei. Damit stehen euch alle Möglichkeiten für Ampelschaltungen offen! Nun, eine Einschränkung gäbe es da noch. Da das Kreuzungsinnere weiterhin aus invis_street besteht, fahren Autos durcheinander statt aufeinander zu achten. Gesucht sind also Ampelschaltungen, wo keine "bedingt verträglichen" Ströme gleichzeitig freigegeben werden. Und genau da kam mir der zündende Gedanke ...
Es gibt nämlich auch Spiele, die das mit den Abbiegeregeln nicht hinbekommen. Cities in Motion 2 hat da eine Besonderheit. Es erzeugt an bestimmten Punkten automatisch Ampeln. Die funktionieren, egal wie viele Zufahrten die Kreuzungen hat. Und da das Spiel einen Tag-Nacht-Zyklus hat, ist die Ampel auch für unterschiedlich starke Verkehrsmengen gerüstet. Das System kann man, vereinfacht und modifiziert, auf Omsi und Ampelsplines übertragen.
Die überall einsetzbare Ampelschaltung
Features:
- Alle Zufahrten bekommen nacheinander grün
- Gesichert geführte Abbieger
- Länge der Grünphase 5-21 Sekunden, je nach aktueller Verkehrsstärke
- Für kleine und große Kreuzungen, bis zu 5 Zufahrten
- Kommt aus einer Zufahrt kein Auto, wird die Phase übersprungen
- Kurze Wartezeiten, vor allem nachts
- Kommt aus keiner Richtung ein Auto, bleiben die Fußgänger auf Dauergrün
Ich schlage euch meine Ampelschaltung deshalb vor, weil sie oft besser als die bestehenden Schaltungen der Ampelsplines sind. Es kann ziemlich demotivierend sein, eine Minute vor einer Kreuzung zu stehen, obwohl aus der Seitenstraße gar kein Auto kommt. Bedingt kann auch eine ÖPNV-Priorisierung abgebildet werden. Hat man eine 4-armige Kreuzung und eine Busspur, wo der Bus vom rechten Rand nach links abbiegen soll, kann er die 5. Phase benutzen. Die kommt dann auch nur, wenn ein Bus dasteht. Außerdem kann man durch Änderung der approachdist die Priorisierung der Zufahrten ein wenig abändern. Als Standard-Wert sind 40m eingestellt, das entspricht einer 3-Sekunden-Lücke im Autostrom als Abbruch-Kriterium für die laufende Phase.
Das Sicherheitsniveau entspricht für die meisten Kreuzungen den realen Anforderungen, da waren die Ampelsplines teilweise sehr abenteuerlich. Eine Besonderheit sind die Fußgänger, die an allen Stellen gleichzeitig grün haben. Die Länge der Räumzeit der Fußgänger ist abhängig von der Länge der Furt. Und weil ihr nicht nachmessen wollt, hat die Ampel (sinngemäß) eine Videoüberwachung, die den Autoverkehr so lange aufhält, bis alle von der Fahrbahn runter sind.
Download: http://www.file-upload.net/download-10178741/Test1.sco.html
Einbauhinweise:
Entweder nehmt ihr die Datei und passt im Editor die Pfade an oder ihr nehmt eure fertige Kreuzung und ersetzt nur den langen Teil der Ampelschaltung in der .sco.
Wie die Zufahrten nummeriert werden, ist eigentlich egal, ich empfehle im Uhrzeigersinn. Natürlich muss die Zuweisung im Kreuzungseditor mit den Einstellung im Map-Editor übereinstimmen. Wenn man außerdem will, dass die Autos vor der Kreuzung blinken, kann man das auch vorgeben, wenn der Ampelspline zu einer Abbiegespur gehört.
Wahrscheinlich habt ihr nur Bahnhof verstanden, aber zusammen schaffen wir es vielleicht, dass die Erbauer ihre Maps anpassen.