Hallo an Alle!
Ich poste dieses Entwicklertagebuch im Namen von co_visa, da er sich eine Erkältung eingefangen hat.
Green Cities wird morgen veröffentlicht und gleichzeitig freuen wir uns, ein neues, vollständig kostenloses Werkzeug im Objekteditor vorstellen zu können, den Straßeneditor. Heute werden wir einen kurzen Blick auf die Eigenschaften werfen und unsere eigene maßgeschneiderte Straße erstellen.
[Blockierte Grafik: https://forum.paradoxplaza.com/forum/index.php?attachments/picture-1-importer-png.308152/]
Zunächst ein paar allgemeine Worte zu Straßen und dem Editor. Das Netzwerk-System von Cities: Skylines ist ein wandlungsfähiges Monster, das von erhöhten Straßenbahnen mit hängenden Oberleitungen bis zu Burgmauern und Kanälen alles Mögliche erlaubt, daher mussten wir beim ersten Entwurf des Editors zunächst entscheiden, ob wir ein einfach zu bedienendes Werkzeug zur leichten Änderung bestehender Straßen erstellen, oder das System in seinem vollen Umfang offenlegen. Wir haben uns für Letzteres entschieden, also seid gefasst auf viel mehr Knöpfe und Schalter, als ihr gewohnt seid. Die gute Nachricht ist, dass die meisten platzierbaren Netzwerkobjekte als Vorlagen zur Verfügung stehen, so dass ihr stets überprüfen könnt, wie die bereits vorhandenen Objekte eingestellt sind. Detaillierte Anweisungen zum Modden von Straßen werden nach der Veröffentlichung dem Community-Wiki hinzugefügt.
[Blockierte Grafik: https://forum.paradoxplaza.com/forum/index.php?attachments/picture-2-overview-png.308153/]
Hier ist ein Überblick über den neuen Editor. Auf der rechten Seite seht ihr das Hauptfenster und an seiner linken Seite zwei seitliche Fenster, die extra geöffnet wurden, um das alles übermäßig furchteinflößend und spannend aussehen zu lassen.
Die meisten Straßen in Cities: Skylines bestehen aus fünf Varianten: der grundlegenden (Basic) Straße auf Geländeniveau, der leicht erhöhten (Elevated)Variante, der Brücke (Bridge), der vom Gelände zum Untergrund führenden Schräge (Slope)sowie dem unterirdischen Tunnel. Die Variationen können über die Registerkarten des Hauptfensters ausgewählt werden. Das Hauptfenster enthält auch Untermenüs zum Bearbeiten der allgemeinen Eigenschaften, der (Fahr-)Spuren und der Modelle der ausgewählten Variation.
Die 3D-Modelle der Straßen sind in Segmente und Knoten (Nodes) unterteilt. Segmente werden für durchgehende Teile der Straße, und Knoten für Kreuzungen, Straßenenden und Übergänge zu anderen Straßentypen verwendet. Beide werden normalerweise als geradlinige Straßenabschnitte modelliert und wenn alles richtig eingestellt ist, kümmert sich das Spiel automatisch um die Krümmung und einen sanften Übergang. Die Segmente und Knoten können auch zusätzliche Bedingungen enthalten, um zu steuern, wann welches Modell auf den Bildschirm gezeichnet wird. Ihr könntet zum Beispiel ein anderes Modell für das Segment verwenden wollen, wenn ein Straßensegment eine Bushaltestelle enthält, oder die Brückentragseile weglassen, wenn eine Brücke eine scharfe Kurve beschreibt.
Spuren können so eingerichtet werden, dass verschiedene Fahrzeugtypen oder auch Fußgänger erlaubt sind, und beinhalten auch die Props der Straße. Die Props können ebenso mit Bedingungen eingerichtet werden, beispielsweise um vor Kreuzungen die korrekten Fahrtrichtungsschilder zu verwenden.
[Blockierte Grafik: https://forum.paradoxplaza.com/forum/index.php?attachments/picture-3-empty-png.308154/]
Also ohne große Umschweife, lasst uns unsere eigene Straße basteln. Ich habe bereits damit begonnen, die sechsspurige Straße als Vorlage auszuwählen, alle Spuren, Segmente und Knoten zu entfernen und unsere Straße zu platzieren, um nun die blaue Fehlerfarbe zu bestaunen. Ich habe ein 3D-Modell eines einzelnen, geradlinigen 64 * 64-Einheiten-Straßenblocks vorbereitet, das wir als Segment importieren werden, indem wir ein neues Segment erstellen und im seitlichen Fenster des Segments auf die Schaltfläche Model klicken.
[Blockierte Grafik: https://forum.paradoxplaza.com/forum/index.php?attachments/picture-4-glitching-png.308155/]
Noch sind wir nicht ganz fertig. Unser selbst erstelltes Modell ist weitaus breiter als unsere Vorlage, also müssen wir als Nächstes im Untermenü Eigenschaften (Properties) seine Maße einstellen. Unsere Straße ist insgesamt 64 Einheiten breit, mit 5 Einheiten breiten und 0,3 Einheiten hohen Bürgersteigen (Pavement) auf beiden Seiten. Der korrekte Halbwert der Breite (Half Width) ist - unter anderem - erforderlich, um zu bestimmen, wo das Gelände endet und die Straße beginnt, und so eine Überlappung zu verhindern, wie sie im Bild zu sehen ist, also stellen wir diesen auf 32. Die Bürgersteigbreite (Pavement Width) wird benötigt, damit das Spiel den Bürgersteig unserer Straße mit unterschiedlich breiten Bürgersteigen anderer Straßentypen glatt verbinden kann. Wir stellen diese auf 5. Da die Bürgersteige in unserem Modell entlang der vertikalen Achse auf Null-Niveau gesetzt wurden, ist unsere Straße etwas eingesunken, weswegen wir das Oberflächenniveau (Surface Level) auf -0,3 setzen, um als Ausgangshöhe zu dienen. Die Segmentlänge (Segment Lenght) ist bereits korrekt auf 64 gesetzt.
[Blockierte Grafik: https://forum.paradoxplaza.com/forum/index.php?attachments/picture-5-models-done-png.308156/]
Zauberei! Weil unser Modell ursprünglich mit einem gitterähnlichen Layout erstellt wurde, enthält es viele "freie" Punkte, die das Spiel jetzt bewegen kann. Wir haben das gleiche Modell auch als Knoten importiert, diesmal jedoch ohne die Straßenmarkierungen in der Textur. Ich überlasse es einfach mal eurer Fantasie, was passiert, wenn sich diese über den ganzen Bereich krümmen. Aufgrund der übereilten Texturierung könnt ihr nun auch schwache Nähte an der Kreuzung erkennen, an der die Modelle der Knoten unserer Straße auf die zweispurige Straße treffen.
[Blockierte Grafik: https://forum.paradoxplaza.com/forum/index.php?attachments/picture-6-adding-lanes-png.308157/]
Der verbleibende Schritt besteht darin, die (Fahr-)Spuren und ihre Props zu konfigurieren. Zwei Fußgängerspuren an den Seiten und 16 Autospuren. Das Modell wurde ziemlich eilig zusammengeschustert und die Fahrbahnmarkierungen wurden nicht in gleichmäßiger Entfernung voneinander getrennt, weswegen ich vorübergehend ein Prop auf jeder Fahrbahn setze, um zu sehen, wo sich die Spuren befinden, während ich ihre Positionen anpasse. Nachdem die Konfiguration der (Fahr-)Spuren erledigt ist schmeißen wir noch ein paar Straßenlampen auf die Fußgängerspuren und machen Feierabend.
[Blockierte Grafik: https://forum.paradoxplaza.com/forum/index.php?attachments/picture-7-done-png.308158/]
Unser schnelles Beispiel ist jetzt fertig und funktioniert sehr gut. Auf den inneren Spuren war selten etwas los, solange ich nicht einen künstlichen Stau erzeugte, aber um das zu beheben müssten wir unser Design komplett überdenken, so dass es weniger lächerlich wirkt. Als nächstes müssten wir auch noch unsere anderen Höhenniveaus und Eigenschaften wie Geschwindigkeitsbegrenzungen und Preise konfigurieren, aber lasst uns das für ein anderes Mal aufheben.
Über das hier Gezeigte hinaus sind auch alle Objekte wie Bahngleise, Straßenbahngleise, Kais, Kanäle, Monorails usw. editierbar. Wir haben im Editor eine Vielzahl von Shadern hinzugefügt, mit denen ihr alles, von glänzenden Gleisen bis zu im Wind schwingenden Drähten, erstellen könnt. Weitere Informationen zur Modellierung und zu Shadern werden im Community-Wiki ergänzt. Die vorhandenen Straßenpfeiler wurden als Gebäudevorlagen (Building Templates) zur Verfügung gestellt, damit wir mit ihnen ein selbst erstelltes Modell importieren, speichern und in den erhöhten und Brücken-Varianten unserer Straße verwenden können. Am Ende werden alle Erhöhungen und Pfeiler in einem Paket gespeichert, so dass kein Abonnement von externen Abhängigkeiten notwendig ist, wenn man auf der Suche nach neuen Straßen ist.
Bleibt empfangsbereit für die morgige Veröffentlichung und frohes Modden!
Quelle: https://forum.paradoxplaza.com…y-8-road-modding.1050864/
Hi everybody!
I am posting this dev diary on behalf of @co_visa as he has cached a cold.
Green Cities is going to be released tomorrow, and with it we are also happy to introduce a new completely free Asset Editor tool, the Road Editor. Today we’re going to take a quick look at its features and create our own custom road.
[Blockierte Grafik: https://forum.paradoxplaza.com/forum/index.php?attachments/picture-1-importer-png.308152/]
First a few general words about roads and the editor. Cities Skylines’ network system is one versatile beast allowing for anything from elevated tram lines with hanging wires to castle walls and sunken canals, so when initially designing the editor we had to decide whether to create a simple easy to use tool for slightly modifying existing roads or to expose the system in its full extent. We chose the latter so prepare for a lot more knobs and switches than what you might be used to. The good news is that most of the placeable network objects will be available as templates, so you can always check out how the existing objects are set up. Detailed instructions on road modding will also be added to the community wiki upon release.
[Blockierte Grafik: https://forum.paradoxplaza.com/forum/index.php?attachments/picture-2-overview-png.308153/]
Here is an overview of the new editor. On the right side you can see the main panel, and on its left side two side panels that were opened just to make this all look overly scary and exciting.
Most of the roads in Cities: Skylines consist of five variations: the basic terrain level road, the slightly elevated version, the bridge, the slope leading from terrain to underground, and the underground tunnel. The variations can be selected from the main panel’s tab strip. The main panel also contains sub menus for editing the general properties, lanes and models of the selected variation.
The road’s 3D models are divided into segments and nodes. Segments are used for the continuous parts of the road, and nodes for intersections, road endings, and transitions from road type to another. Both are usually modeled as straight road stubs, and if everything is set up right the game will automatically take care of bending and smoothly combining them. The segments and nodes can also contain additional conditions to control when each model is drawn into the screen. You might for example want to use a different segment model when a road segment contains a bus stop, or leave out the overhead bridge wires when a bridge takes a sharp turn.
Lanes can be set up to allow different vehicle types or pedestrians, and they also contain the road’s propping. The props can also be set up with conditions, for instance to use proper turn signs before intersections.
[Blockierte Grafik: https://forum.paradoxplaza.com/forum/index.php?attachments/picture-3-empty-png.308154/]
So without further ado, let’s make our own custom road. I’ve already started by selecting the Six-Lane Road as our template, removing all lanes, segments, and nodes, and placing down our road to marvel at the blue error color. I have prepared a 3D model of a single straight 64 * 64 units block of road, which we’re going to import as a segment by creating a new segment and clicking the Model button on the segment’s side panel.
[Blockierte Grafik: https://forum.paradoxplaza.com/forum/index.php?attachments/picture-4-glitching-png.308155/]
Not quite there yet. Our custom model is way wider than our template so next we need to set up its dimensions in the Properties sub menu. Our road is 64 units wide in total, with 5 units wide and 0.3 units high pavements on both sides. Correct Half Width is – among other things – needed to determine where the terrain ends and the road starts to prevent overlapping as seen in the picture, so we’ll set that to 32. Pavement Width is needed so that the game can smoothly combine our road’s pavement to other road types with differing pavement widths, so we’ll set that to 5. Since the pavements were set to 0 level along vertical axis in our model, our road is actually a bit sunken so we’ll set the Surface Level to -0.3 to act as the base height. The Segment Length is already set correctly to 64.
[Blockierte Grafik: https://forum.paradoxplaza.com/forum/index.php?attachments/picture-5-models-done-png.308156/]
Magic! Because our model was originally created using a grid-like layout, it contains a lot of “free” vertices the game can now move around. We also imported the same model as a node, but this time without the road markings in the texture. I’ll just leave it to your imagination what happens when those start bending all over the place. Due to the hasty texturing you can now also see faint seams on the intersection where our road’s node models meet Two-Lane Road’s.
[Blockierte Grafik: https://forum.paradoxplaza.com/forum/index.php?attachments/picture-6-adding-lanes-png.308157/]
The remaining step is to configure the lanes and their propping. 2 pedestrian lanes on the sides and 16 car lanes. The model was thrown together quite hastily and the lane markings weren’t separated with a uniform distance so I’m temporarily attaching a prop to each lane to see where they are while tweaking their positions. After the lane configuration is done we’ll throw in some street lamps to pedestrian lanes and call it a day.
[Blockierte Grafik: https://forum.paradoxplaza.com/forum/index.php?attachments/picture-7-done-png.308158/]
Our quick example is now done and working quite nicely. The inner lanes rarely saw any action unless I created some artificial congestion, but to fix that we’d need to completely rethink our design to be a little less ridiculous. Next we would also need to configure our other elevations and any properties such as speed limits and prices, but let’s leave that for another time.
Beyond what was shown here, any objects like train tracks, tram tracks, quays, canals, monorails etc. are also available for editing. We’ve added a multitude of different shaders in the editor which will enable you to create anything from shiny tracks to wires that sway on the wind. More info on modeling and shaders will be added to the community wiki. The existing road pillars have been made available as building templates so we could import one with a custom model, save it, and use it in our road’s elevated and bridge variations. In the end all the elevations and pillars will be saved into one package so there will be no need to subscribe to any external dependencies when looking for new roads.
Stay tuned for tomorrow’s release, and happy modding!