Kartenbau in Blender

Aus OMSIWiki
Wechseln zu:Navigation, Suche

Straßen- und Kreuzungserstellung

© 2016


Kartenbau in Blender - Vom ersten Vertex, bis zur letzten Straßenmarkierung

Speziell für OMSI2



Der Artikel ist noch im Aufbau! Keine Finalversion!

Bild Nr.1
Bild Nr.2
Bild Nr.3
Bild Nr.4
Bild Nr.5
Bild Nr.6
Bild Nr.7
Bild Nr.8
Bild Nr.9
Bild Nr.10
Bild Nr.11
Bild Nr.12
Bild Nr.13
Bild Nr.14
Bild Nr.15


Vorbereitung

Bevor man eine Karte in Blender baut, braucht es ein paar Dinge zur Vorbereitung. Das wären:

    - Hintergrundbilder -> Diese kannst Du zum Beispiel über SketchUp Make 2016 (Google Earth) herunterladen und in ein neues Objekt umwandeln und in Blender importieren.
    - Der Ort oder die Linie
    - Texturen
    - Projektordner

Vorab: Ganz unten, also zum Schluss, erkläre ich noch, wo die Funktionen und Modfier zu finden sind in Blender.

Wichtige, neue Funktionen in Blender

Blender ist ja bekannt für seine vielzähligen und vor allem auch nützlichen Features. Drei von ihnen brauchen wir für unseren Kartenbau. Das wären:

    - Funktion: Solidify -> Damit werden wir Bordsteine und Gehwege erstellen.
    - Funktion: Bevel -> Damit werden wir Bordsteine und Straßen abrunden.
    - Funktion: Spin -> Damit können wir auch Bordsteine und Straßen abrunden, allerdings etwas anders. Wird aber nur noch selten benutzt, da Bevel den Bedarf vollkommen deckt und erweitert an Funktionen.
    - Funktion: Follow Active Quads -> Damit werden wir später unser Objekt, bei richtiger Bauweise, fast nahtlos texturieren können.
    - Funktion: Bridge -> Mit ihr können wir ganze Objekte, mit ihrem Duplikat zum Beispiel verbinden, ohne das die Proportionen der Meshes selber verändert werden.
    - Modifier: Shrinkwrap -> Damit können wir später, falls die importieren SketchUp Make 2016 (o.a) Hintergründe Oberflächenüberhöhungen besitzen, unsere Karte darauf anpassen.
    - Modifier: Array -> Damit werden wir später Bodenmarkierungen besser und gleichmäßiger extrudieren können.
    - Modifier: Curve -> Damit richten wir später Objekte an ihr aus. (Zum Beispiel Bodenmarkierungen)

Ein nettes Feature von Blender ist unter anderem noch Recalculate Outside. Damit können wir das Mesh fast komplett auf die "richtige" Seite drehen. Mehr dazu aber weiter unten.

Die Umsetzung

Vorbereitung in SketchUp

Zu Beginn, wie angedroht, müssen wir uns erstmal einen Hintergrund herunterladen. Das mache ich mit SketchUp Make 2016(Ihr könnt natürlich nehmen, was ihr wollt - aber ihr braucht einen Hintergrund)

Also ganz simpel gehen wir in SketchUp Make 2016 auf Datei -> Geostandort -> Ort hinzufügen. (Bild Nr.1)

(Manchmal hat SketchUp seine Schwächen beim Aufrufen des Menüs. Der Trick: immer wieder auf 3D-Warehouse -> Modelle übernehmen und dann auf das Haus oben links drücken. Das einfach im Wechsel mit Geostandort - irgendwann funktioniert es.)

Danach beginnen wir damit einen Ort hinzuzufügen. (Bild Nr. 2) Ich mache das hier am Beispiel: U Alt-Mariendorf. Das Prinzip ist simpel. Einfach immer das selbe tun, bis man mit dem Herunterladen fertig ist und wir mit dem exportieren und importieren fortfahren können.

Nachdem wir mit dem Herunterladen fertig sind, können wir nun alle Ebenen markieren (Strg+A) Rechtsklick -> Entsperren (Bild Nr.3) und dann wieder Rechtsklick -> In Einzelteile auflösen. (Bild Nr.4) Danach nochmal Strg+A, um alles zu markieren.

Danach gehst Du auf Datei -> Exportieren -> 3D-Modell (Bild Nr.5), dann am Besten als COLLADA-Datei exportieren. (Bild Nr.6)

Nachdem das Modell erfolgreich exportiert wurde, ...

Weiter geht's mit Blender

In Blender angekommen, lösche ich immer zu Erst den Cube und passe mir das Overlay so an, wie ich es am Liebsten habe.

Nachdem wir das getan haben, geht's auch schon mit dem Import vom 3D-Mesh aus SketchUp los. Dazu gehst Du auf File -> Import -> Collada (Default) (.dae) (Bild Nr.7)

Das Modell ist nun importiert. Allerdings müssen wir, falls das noch nicht in SketchUp geschehen ist, das Standard-Männchen löschen und die "skp_camera_Last_Saved_SketchUp_View".

Wenn Du das alles gemacht hast, gehst Du auf die Standard-Lampe, gehst rechts auf die Settings und dann auf das Data-Bedienfeld. Dort stellst Du von Point auf Hemi und nimmst den Haken bei Specular raus. (Bild Nr.8)

Nun können wir in den Material-Modus wechseln. Ab hier empfehle ich in der Top Ansicht zu arbeiten (Numpad-Taste 7). Dazu auch die "Game-View" (Shift-F). Man bedient sie so, wie einen First-Person-Spieler.

Für die bessere Übersicht und Orientierung, können wir in den Scene-Settings die Einheit von None auf Metric ändern (optional) (Bild Nr.9)

Damit sind auch diese Vorbereitungen in Blender getan und wir können mit dem eigentlichen Bau der Karte beginnen.

Der Straßenbau beginnt

So, wie man ein Mesh beginnt zu bauen, erstellst Du erstmal ein Mesh (Shift-A). Ich empfehle immer mit einer Plane zu beginnen. Anschließend wechselst Du in den Edit-Mode (Tabulator), markierst alles (A), skalierst zur Sicherheit alles auf Höhe 0 (S 0) und änderst im rechten Menü (N) bei Transform die Höhe in 0.1000 oder 10cm.

Nachdem das erledigt ist, löscht Du einen der vier Edges (=Linien, oder Verbindungen zwischen Verts), das wir am Ende nur noch eine Edge haben. (Bild Nr.10)

Dann fängst Du an die Edge auszurichten an zB. einem Gehweg und extrudierst ihn entlang dem Bordstein.

!Wichtig! Ändere die Transformation orientation (=Achse) von Global auf Normal. Wird für die nachfolgende Schritte noch relevant und ändere den Snap-Modus von Increment auf Vertex (Bild Nr.11)


Du kannst beim Extrudieren erstmal eckige Kurven erstellen. (Bild Nr.12)

Nun beginnst Du damit die extrudierte Edge weiter zu extrudieren. So weit, bis Du der Meinung bist, dass das erstmal reicht.

(Kleiner Tipp -> Ihr solltet parallel dazu mit Google Maps/Bing Maps (o. was anderes) arbeiten, um den Straßenverlauf wirklich genau modellieren zu können.)

Wenn Ihr mit dem groben Edges fertig seid, so wie ich (Bild Nr.13), können wir mit den ersten Loop Cuts beginnen. (Strg+R - Mit dem Mausrad können wir einstellen, wie viele Cuts es geben soll und gesondert im F6 Menü, können wir noch einstellungen vornehmen, wie zB. Correct UV, was enorm hilft, wenn man ein Objekt schon texturiert hat und noch etwas korrigieren muss.) (Bild Nr.13)

Wenn Du dann fertig bist damit (Bild Nr.14), kommen auch schon zum ersten "wirklichen" Feature von Blender. Das Beveln.

Wichtig: Beim Beveln ist es wichtig, dass Dein Objekt keine Scale-Werte über 1.000 hat. Sonst kommt es zu Fehlern beim Beveln. (Bild Nr.15)

Um nun zu Beveln, markierst Du im Vertex-Select Modus Deine Vertexe und drückst Strg+B. Mit der Maus ziehst Du dann soweit, bis Du mit der Rundung zufrieden bist. Dazu musst Du auch mit dem Mausrad rollen, um entsprechend Segments hinzuzufügen, damit Du eine schöne Rundung erhältst. Ich empfehle bei großen Kreuzungen immer 8 Segments und bei kleinen Dingen, wie zB. eine Verkehrsinsel 4 Segments.

Bei mir sieht die Rundung jetzt so aus. (Bild Nr.16). Auch hier kann ich mit F6 in die Optionen gehen (Bild Nr.17). Dort kannst Du auch viele Dinge einstellen - einfach probieren :).

Nachdem Du nun erfolgreich Deine erste Rundung "gebevelt" hast, kannst Du das noch mit Deinen Restlichen machen (falls vorhanden).

Bei dieser Rundung hier (Bild Nr.18) bin ich der Meinung, dass hier 4 Segments total reichen. Bei 8 Segments würde das schon zu übertriebene aussehen.

Bist Du fertig mit dem Beveln kommen wir schon zur nächsten neuen Funktion. Diese nennt sich Solidify. Mit ihr können wir nun Gehwege, Bordsteine, Straßen, whatever auf der lokalen Z Achse extrudieren.

Dazu in den Edit-Mode gehen, mit A alles markieren und Strg+F -> Solidify. (Bild Nr.19) Bei mir ist es schon auf die Tastenkombination Strg+D gelegt, also bitte nicht wundern :)

Auf den ersten Blick wirst Du nur eine minimale Änderung an Deinen Vertexe sehen. Dazu direkt nachdem Du den Operator ausgeführt hast, F6 drücken. Dort stellst Du die Dicke ein. Bei Gehwegen, nach MR Standard, setzt Du den Wert auf 0.15 ein.

Wichtig: Wenn Du Solidfy als Operator ausführst, kannst Du nur Face(s) extrudieren. Mit dem Modfier Solidify lassen sich auch Edges extrudieren mit einem Offset.

Wenn Du mit dem extrudieren via Soldify fertig bist, markierst Du nun die Faces, wo Du den Gehweg raus extrudieren möchtest. Genau das selbe Verfahren.

Wichtig: Mit Soldify lassen sich Faces bis zu 10 (10m) extrudieren. Mehr geht nicht (Jedenfalls ohne Modifikation nicht).

Um die Faces zu extrudieren, gehst Du in den Face-Select Modus und markierst sie. (Bild Nr.20) Dann wieder Strg+F -> Solidify und stellst den Wert ein. (Bild Nr.21)

Als nächstes, so mache ich das immer, kannst Du die Straße daraus ableiten. Du markierst die Faces vom Bordstein und extrudierst einfach in die andere Richtung.

Ich habe jetzt schon die ganze Straße einmal extrudiert. (Bild Nr.22). Nun müssen wir aber noch überschüssige Edges und Faces entfernen. Das mache ich immer im Edge-Modus, markiere dabei eine Edge, drücke dabei aber Alt, um einen Loop zu markieren und drücke X -> Vertices. Alternativ kannst Du Deine Edges auch markieren, in dem Du sie mit Strg gedrückt entlang markierst.

Tipp -> Zwischendurch einfach mal alles markieren und Strg+N, um die Faces neu auszurichten.

Bei mir sieht das "fertige" Mesh von der Straße nun so aus (Bild Nr.23)

Texturieren der Straße

Nun folgt das Texturieren. Hierzu könnt Ihr die Standard MR Texturen benutzen. (Ich benutze hier meine eigenen, funktioniert aber bei allen gleich - es geht um das UV Mapping - nicht um die Textur.)

Fangen wir mal an.

Wie man Materialien in Blender erstellen kann, werde ich hier nicht erklären - das sollte eine der Grundvoraussetzung sein für dieses Tutorial.


Zu erst habe ich zentral Asphalt gemappt. (Bild Nr.24) (Ich benutze in Blender ein Plugin, was es mir möglich macht UVs zu kopieren und neu einzufügen. Einfach mal googlen, dann findet Ihr was.)

Im Prinzip ist das Texturieren ein Klacks. Das schafft jeder, der mit dem UV-Image-Editor vertraut ist.

Wenn Du deine Asphalttextur einmal gemappt hast (auf ein Face), kannst Du "Follow Active Quads" im UV-Menü (U) benutzen. (Bild Nr.25) Das sieht dann am Ende bei mir so aus. (Bild Nr.26)

....

Fortsetzung folgt.


Sonstiges

Kontakt: nick@omsi-berlin.eu oder im OMSI-Forum eine PN an Linie218.

Veränderungen

--Linie218 14:12, 5. Aug. 2016 (MEST)