Altbauhaus (Blender-Tutorial)

Aus OMSIWiki
Wechseln zu:Navigation, Suche

Hinweis: Dieser Artikel wurde noch nicht ins Englische übersetzt!

Tutorial zum Bau eines Altbauhauses in Blender von Marcel Kuhnt, 10.11.2009

Analyse des Vorbildes

Zunächst einmal schauen wir uns das Original im Foto an und im Luftbild eines namhaften Anbieters von Luftbildern… ;-)

Vorbild-Foto

Es handelt sich also um einen typischen Altbau, wie er oft in Berlin zusehen ist. Wie sieht das Haus aus? Zunächst einmal ist es ein Eckgebäude. Dem Luftbild entnehmen wir einen Innenwinkel von 80°, jede Längswand (mit den Balkonen) ist 30m lang, die „Fase“ im Vordergrund ist 6,5m lang (oder breit, wie man will). Die Höhe ist unbekannt und muss später anhand der Proportionen abgeschätzt werden – eine grobe Rechnung anhand der Menschen im Vordergrund zeigt, dass das Dach an den niedrigsten Stellen bei etwa 15m Höhe beginnt. Dann stellen wir weiter fest: der Grundriss ist eher einfach, es gibt aber einige komplizierte Anbauten sowie die geschwungenen Giebel, die extra ausmodelliert werden müssen. Es stellt sich ferner die Frage, ob die Balkons nach innen ausmodelliert werden sollen. Viel Arbeit, sieht aber besser aus. Das kann ich jetzt noch nicht beurteilen…

Offensichtlich ist das Gebäude „relativ“ symmetrisch – die beiden Flügel sind fast gleich. Der einzige Unterschied besteht in der Lücke zwischen den Giebeln und der daraus folgenden größeren Breite der Balkone auf der linken Seite gegenüber der rechten Seite. Da wir aber noch ungefähr gefühlte 100 weitere Häuser nachbauen wollen, unterschlage ich den Unterschied wahrscheinlich. Außerdem: was mach ich mit dem Erdgeschoss? Da werde ich die rechte Seite verwenden und den „Spätkauf“ wegnehmen – dann ist das Erdgeschoss rundherum „neutral“ und man hat keine „doppelten Läden“, braucht aber bloß eine Textur. Für die oberen Stockwerke werde ich ebenfalls die rechte Seite verwenden – denn diese wird man später besser sehen, da man frontal drauf zu fahren wird – im Gegensatz zur linken Seite, wo man lediglich unten entlang fährt, den Blick aber schon au die folgenden Häuser gerichtet…

Erstellen der Textur

Nach diesen Vorüberlegungen können wir nun mit den Texturen beginnen… Nun geht’s ans Eingemachte: zunächst wird die Seitenwand (ohne die „Extra-Giebel“, die etwas weiter oben liegen, sondern nur mit den niedrigeren, angesetzten Giebeln) aus dem entsprechenden Foto rauskopiert und geradegezogen. Es ist noch etwas dunkel, wird aber später (zusammen mit den restlichen Texturteilen) aufgehellt:

Altbauhaus Tex1.jpg

Nun müssen die störenden Elemente rausretouschiert werden. Für eine allgemeinere Verwendbarkeit wird auch der Restaurant-Schriftzug rausgenommen. Ich habe mich nun dazu entschlossen, die Balkone nicht nach innen auszumodellieren… die Textur wird als „Master“ abgespeichert – d.h. in voller Auflösung. Für Omsi wird eine Kopie in geringerer Auflösung angefertigt, das hat den Vorteil, dass man Korrekturen nachträglich in besserer Qualität durchführen kann! Für das Retouschieren verwende ich eine „weiche“ Maske mit einigen Pixeln „Randunschärfe“ und kopiere jeweilige Nachbarregionen über die zu retouschierenden Regionen. In einem nächsten Schritt wird der „abgeschnittene“ obere Giebel mit in die Textur reingelegt:

Altbauhaus Tex2.jpg

Es ist immer so eine Frage: mach ich zuerst die Textur oder zuerst das Mesh oder beides „parallel“… im Grunde kommt es immer sehr aufs Objekt drauf an (und auf die eigene Erfahrung) – aber ich habe im Laufe der Zeit gelernt, dass es meistens am Besten ist, wenn man entweder die ganze Textur vorher macht oder eben erst komplett hinterher – denn: eine gute Ausnutzung der Freiflächen gelingt am Besten, wenn nicht schon Teile im Mesh in Verwendung sind. Andernfalls kann es sein, dass man noch links 50 Pixel braucht, dann muss man aber das ganze Mapping der bereits texturierten Flächen anpassen. Aber manchmal kann das wiederum auch einfacher sein… also: es gibt eigentlich keine Patentlösung – und ich mach es mal so und mal so… Weiter geht’s… als nächstes kommt die „Fase“. Hierzu wird aus dem Foto auf der ersten Seite die Textur erstellt. Diese wird horizontal geteilt, weil der Giebel sonst nicht draufpasst – dafür wird dieser abgeschnitten und verkleinert – das reicht auch… da er sich nicht direkt an der „Hauptwand“ befindet, sondern eine getrennte Wand darstellt, ist das kein Problem. Wie man sieht, besteht ein gewisser Helligkeitsunterschied – dieser wird nun als nächstes ausgeglichen. Retouschierungen (vgl. Originalfoto ganz oben) müssen wieder vorgenommen werden. Außerdem habe ich bei einem „Spiegeltest“ (zusammenfügen des Originals und eines Spiegelbildes an der künftigen Naht) gemerkt, dass die Trennwände auf den Balkonen stören und diese entfernt und die Fenster etwas zentriert (einfach kopieren und verschieben, wenn da noch ein bisschen Wand daneben mitkopiert wird, dann verdeckt diese das darunterliegende, falsch sitzende Fenster).

Altbauhaus Tex3.jpg

Jetzt wird die Helligkeit angepasst und die Seitenansicht des Balkon-Erkers eingefügt sowie eine Seitenansicht des Metallstreifens, der die Giebel „umrundet“. Diese sind einfach als schmaler Streifen aus dem Foto rauskopiert und verbreitert. Dann einige weiße Flächen noch in Wandfarbe angemalt (damit es, wenn man weiter weg ist und die sog. „Mip-Level“ aktiv werden, nicht zu hässlichen Artefakten kommt) und fertig ist die Textur. Diese wird dann auf 1024x1024 herunterskaliert, nachgeschärft und in den Ordner kopiert, der auch die Blender-Datei enthalten wird: (Anm.: 1024 ist natürlich ziemlich viel – beim Eckhaus ist es vielleicht gerechtfertigt, bei den „Nachbarn“ werde ich vmtl. nur 512x512er-Texturen verwenden…)

Altbauhaus Tex5.jpg

Textur ist fertig – also kann der Objektbau beginnen!

Erstellen des Hauptflügels

Wie im Video-Tutorial eingerichtet, startet Blender mit einem Würfel ohne Boden. Hier brauchen wir nur eine Wand (weshalb die anderen drei und die Decke gelöscht werden). Diese wird so verschoben, dass sie am Ursprung beginnt, 30m lang ist und 15 hoch:

Altbauhaus Blend1.jpg

Dann werden die obere und die untere Kante geteilt (Edge-Mode, obere und untere Anklicken, dabei [Shift], dann [W] => „Subdivide“), damit die Textur entsprechend gemappt werden kann. Diese wird auch gleich aufgebracht und in den Textur-Ansichtsmodus gewechselt:

Altbauhaus Blend2.jpg

im UV/Image-Editor wird die Textur dann so zurecht gerückt, dass die Textur richtig sitzt. Dazu werden zunächst die Koordinaten für die rechte Fläche x-gespiegelt. Dann können beide Flächen gleichzeitig entsprechend gemappt werden, sodass die Texturkoordinaten für beide Flächen exakt gleich sind:

Altbauhaus Blend3.jpg

Das sieht ja schon nicht schlecht aus, oder? Wäre das Haus aus den 60ern, wär hier Schluss… drei weitere Wände, Flachdach rauf, fertig ist das Nachkriegs-Aufbauhaus! *gg* Aber leider – oder zum Glück? – ist dem ja hier nicht so… deshalb geht’s jetzt erst richtig los… um die Giebel auszumodellieren, wird zunächst eines der Rechtecke geklont, 1m vorgezogen, entsprechend so gemappt wie es nachher sein muss:

Altbauhaus Blend4.jpg

Der Absatz zwischen links und rechts kommt dadurch zustande, dass die Textur selbst noch perspektivisch ist – in der Parallelansicht müssen die Fensterbretter natürlich alle auf einer Höhe sein. Dieser Unterschied wird auf dem neuen Poly bereits ausgeglichen, es hat also alles seine Ordnung! ;-) Noch eine Ebene 1m weiter vorne wird nun der Giebel Punkt für Punkt „nachgezeichnet“, hierbei wird zunächst ein Punkt des Rechtecks mit [Shift]+[D] geklont und vorgezogen – alle weiteren Punkte werden mit [Shift]+[E] erzeugt, wobei jedes Mal automatisch eine Kante erzeugt wird, die den neuen mit dem alten Punkt verbindet („extrudieren“, funktioniert auch mit Kanten, welche dann Flächen erzeugen, wird später gemacht!). Das machen wir natürlich erstmal nur für eine Seite, weil wir ja die andere Seite spiegeln können:

Altbauhaus Blend5.jpg

Dies wird jetzt auch getan: alle Punkte werden markiert, mit [Shift]+[D] dubliziert, etwas verschoben, linke Maustaste und mit [Shift]+[M] und einer folgenden Eingabe eines [X] entlang der x-Achse gespiegelt. Dann können sie so verschoben werden, dass sie über der anderen Seite des Giebels liegen. Dann werden im Edge-Mode nacheinander paarweise jeweils die gegenüberliegenden Kanten markiert und mit [F] jeweils ein Polygon erzeugt. Da das erste falsch herum ausgerichtet ist, wird kurz in den Poly-Modus gegangen und mit [Shift]+[W] und „Flip Normals“ die Ausrichtung gewechselt. Beim nächsten Paar ist das nicht nötig, weil Blender die Ausrichtung des Nachbarpolygons berücksichtigt! Beim darauf folgenden Fertigstellen der Rest-Peripherie und der Erzeugung der Polygone stört das Polygon dahinter, es kann sein, dass der falsche Punkt selektiert wird! Es empfiehlt sich dabei u.U. perspektivisch zu arbeiten oder das „Hintergrundpoly“ in der Zwischenebene, sobald es nicht mehr benötigt wird, zu löschen. Dann sollte das ganze so aussehen:

Altbauhaus Blend6.jpg

Wenn dieser Teil nun texturiert werden soll, kann man je nach Bedarf auch den Modus „Occlude Background Geometry“ einschalten und dann alles mit (jeweils) [Shift]+[B] und geschickten Rechtecken markieren, geht da dann am Besten. Wichtig: dieser Modus führt in anderen Situationen eventuell zu Problemen, weil nicht alles markiert wird, also Vorsicht! Wie gewohnt die neuen Polys mit Textur versorgen und dann sieht’s so aus:

Altbauhaus Blend7.jpg

Nun werden die Außenkanten markiert und mit [Shift]+[E] nach hinten extrudiert – wobei dies zuerst nur mit den unteren Kanten gemacht wird, weil die in die volle Tiefe extrudiert werden – der Giebel nur teilweise. Hierbei kann man perspektivisch arbeiten: vorher den „Hufeisenmagneten“ einschaltet (Symbol in der Leiste unterm 3D-Fenster), einmal [Y] schränkt die Bewegung auf die Y-Achse ein und wenn man [Strg] drückt während man auf einen Punkt zeigt, der in der richtigen Ebene liegt, bleibt die Extrusion in dieser Ebene hängen! Texturiert werden die Seiten mit dem vorbereiteten Textur-Schnipsel, die Unterseite mit einem kleinen Bereich aus der Seitenwand darunter, das reicht da völlig. Das Ergebnis:

Altbauhaus Blend8.jpg

(die ganze Arbeit machen wir natürlich nur für diese eine Seite – der rechte Giebel samt Balkone wird am Ende durch Spiegelung erzeugt!) Jetzt wird die Tiefe, die ja bislang 2m beträgt, auf den im Lufterkundungsprogramm ausgemessenen 1m reduziert. Dann werden die Giebel extrudiert – analog, aber nur mit 0,4m Extrusionstiefe (aus Foto geschätzt), texturiert mit dem ebenfalls vorbereiteten Texturschnipsel. Schließlich werden sämtliche Front-Polys des Giebels kopiert, mit „Flip-Normals“-Befehl gewendet und an die Rückseite der Extrusion gepappt (wieder mit [Shift]+[D], [Y] und Snap-Funktion!). Hintergrund dieser Aktion: Hinterm Giebel mündet ja nur ein einfaches Schrägdach. Gäb es nicht diese „Rückseite“ (die einfach mit ein paar grauen Pixeln gemappt wird), könnte man da eventuell später ein Loch sehen…!

Altbauhaus Blend9.jpg Altbauhaus Blend10.jpg

Nach dem Klonen sieht das Ganze schon nach was aus!

Altbauhaus Blend11.jpg

Beim nächsten Giebel wird eigentlich genauso wie beim vorherigen verfahren – ich habe diesmal aus dem neuen Giebel ein neues Objekt gemacht ([P] zum Separieren von Teilen eines Objektes in ein neues). Schöner Effekt von Fototexturen: den leichten Schattenwurf des vorderen Giebels auf den hinteren bekommt man quasi geschenkt!

Altbauhaus Blend12.jpg Altbauhaus Blend13.jpg

Achja, noch ganz wichtig: beim Spiegeln muss man danach auch die Normalen wechseln! Sonst ist das Spiegelbild „auf links“ gedreht!

Altbauhaus Blend14.jpg

Nun muss das Dach gebaut werden: Hierzu wird als Textur die Standardtextur für graue Spitzdächer verwendet. Die Form des Daches schaut man sich am Besten im Luftbild an und leitet sie daraus her. hierfür sollte auch die Haustiefe bekannt sein, sie beträgt hier 13m. Als erstes werden Seiten- und Rückwand durch Extrusion erzeugt und mit Standardtexturen belegt (diese Wände werden im Regelfall nicht sichtbar sein):

Altbauhaus Blend15.jpg

Nun werden die Oberkanten der vier Hauptwände nach oben extrudiert, bis die voraussichtliche Firsthöhe erreicht ist. Dann werden die vordere und die hintere Kante so aufeinander zu bewegt, dass die spätere Schrägung des Daches entsteht. Zuletzt wird die hintere obere Kante, also zwischen hinterer Schrägdachfläche und der Dachpappe noch um 0,1m abgesenkt, damit die später ineinanderstehenden Dachpappen-Flächen nicht flimmern. Die schrägen Dachflächen werden dann mit der Spitzdachtextur belegt, die horizontale sich ergebende Fläche mit der generischen Dachpappentextur. Beim Mapping der Schrägdachtexturen wird folgendermaßen vorgegangen: bevor der Befehl „Project from View“ gegeben wird, wird die numerische Entertaste betätigt: hierdurch wird der Zoom zurückgesetzt. Der Wert, mit dem dann im UV-Editor skaliert wird, muss sich gemerkt werden – dann kann man alle weiteren Schrägdächer auf diese Weise stets mit der gleichen Ziegelgröße mappen!

Altbauhaus Blend16.jpg

Auf ähnliche Weise werden durch Extrusion von existierenden Kanten die weiteren Schrägdachflächen erstellt, bis dieser Flügel des Hauses schließlich fertiggestellt ist:

Erstellen der Fase

Altbauhaus Blend17.jpg

Die Fase wird als eigenes Objekt gebaut – außerdem wird sie zunächst parallel zum bisher Gebauten erstellt – das vereinfacht die Modellierung. Erst am Ende wird sie um 50° gedreht. Zunächst wird wieder ein einfaches „Hintergrundpoly“ erstellt. Darauf werden die beiden Erker modelliert und dann alles zusammen gemappt.

Altbauhaus Blend18.jpg

Dadurch, dass die Erker nicht entzerrt wurden, werden sie jetzt nicht ganz richtig gemappt – der Preis für diese Vereinfachung. Ist in diesem Fall aber noch auszuhalten… Der Erker wird ebenfalls wie vorhin „abgepaust“. Das sieht dann, wenn es fertig ist, so aus:

Altbauhaus Blend19.jpg

Jetzt muss auch hier das Dach erstellt werden. Hier sind aber nur eine vordere Dachschräge und eine obere Dachfläche nötig, da sich die beiden Gebäudeflügel auf der Rückseite kreuzen werden.

Altbauhaus Blend20.jpg

Finale Arbeiten

So – jetzt haben wir es gleich geschafft! Die nun „vormontierten“ Teile des Hauses müssen nun noch exakt aneinander ausgerichtet werden (vorher noch rotiert werden um 50 bzw. 100°) und dann müssen die Dächer noch mal so verändert werden, dass die Schnittstellen sich nicht überlappen:

Altbauhaus Blend21.jpg

Hier erkennt man, wie das Dach der Fase durch die Dächer der beiden Flügel durchsticht. Das zu korrigieren gelingt am einfachsten, wenn im Edit-Mode die „Transform-Orientation“ auf „Local“ geändert wird – denn die Objekt-Koordinatensysteme haben sich ja durch die Drehung der Flügel mitgedreht. Auf diese Weise kann exakt rechtwinklig im jeweiligen Koordinatensystem gearbeitet werden! Et voilà: fertig!

Altbauhaus Fertig1.jpg Altbauhaus Fertig2.jpg

Nun nur noch so zurechtrücken, dass der Ursprung auch einigermaßen in der Mitte ist, exportieren, in Omsi einbinden und wieder ein Haus mehr!

Altbauhaus Fertig3.jpg

Altbauhaus Fertig4.jpg

Was bleibt ist das dumme Gefühl, dass man das alles jetzt noch für die ganze Klosterstraße für jedes Haus durchkurbeln muss…! Und dass auch die Seeburger Str. über mehrere Altbauhäuser verfügt…! Bin ich froh, dass wir keine Buslinie bauen, die quer durch Wilmersdorf führt…! :-) Viel Spaß bei Eurer Arbeit mit Blender!!!