Wie es der Titel vermuten läßt, machen wir uns hier die Hände schmutzig. Hier geht es darum Terrain, Straßen und Gebäude der Stadt möglichst effizient und überzeugend zu erstellen.
Um dies zu erreichen, haben wir uns entschieden diesen Prozess in mehrere Unterthemen aufzuteilen.
Prozedurales Design
Wir – bzw. ich als Hauptentwickler dieser Projekte – können nicht programmieren. Prozedurales Design ist für uns daher ein Evaluationsprozess über verschiedene Tools, deren Qualität arg variiert. Häufig wird dem prozeduralem Design Zufälligkeit unterstellt, was jedoch nicht zutrifft. Prozedurales Design kann sehr wohl auch reproduzierbare Resultate erzielen. Dazu speichert man einen sogenannten Seed-Wert, der als Modifikator für die ohnehin nach mathematischen Regeln errechneten geometrischen Strukturen der 3DStadt dient. Ein Algorithmus liefert bei gleichen Vorgaben immer ein identisches Ergebnis. Ein zufällig modifizierte Algorithmus liefert nach dem gleichen Reglement ein zufälliges Ergebnis. Die Zufallszahl die an irgendeiner Stelle dieses Prozesses generiert wird ist hier der Schlüssel. Nimmt man in späteren Berechnungen immer wieder die selbe (anfangs zufällig) generierte Zahl als Modifikator, so liefert der Algorithmus auch immer wieder das gleiche Ergebnis.
Um nun Monotonie und Wiederholungen zu vermeiden kann mann unterschiedliche Prozesse mit eigenen Seed-Werten bedienen (und auch diese bei ansprechenden Ergebnissen speichern). Verwendet man hier immer wieder die gleichen Werte kommt ebenfalls immer wieder das gleiche Ergebnis dabei heraus.
Straßen und Infrastruktur
Eine Stadt ist zumeist von sehr unterschiedlichen Straßentypen durchzogen. Natürlich wäre eine prozedurale Stadt umso realistischer, wenn es gelänge alle Arten von Infrastruktur hinreichend abzubilden, doch die daraus resultiernde Komplexität würde die selbst die Leistung moderner Hochleistungs-PCs sprengen.
Folgende Infrastrukturtypen haben wir (bereits vereinfacht) identifiziert: Autobahnen (Highways) oder Schnellstraßen, Hauptstraßen, Nebenstraßen und Gassen. Daneben sind Fußgängerzonen und -wege, aufgeständerte Schnellstraßen und Unterführungen üblich. Schienennetze umfassen zumeißt Ferntrassen, Regionale Trassen und Nahverkehrstrassen.
Diese können zudem aufgeständert oder untertunnelt sein bzw. als Hochbahn under U-Bahn ausgelegt sein. Als schienentypen kommen zweigleisige Standardschienen, Grav-Rinnen, Magnetschinen oder Monorailtrassen in Frage. Eine Spezielle Form sind Seilbahnen. Weitere Infrastrukturelle Elemente sind Stromtrassen und Pipelines.
Terrain und Wasser
Realistisches Terrain ist ein wichtiger Aspekt der 3D-Stadt. Städte werden in der Realität an Stellen errichtet die die Entstehung einer Stadt und deren Wachstum unterstützen. Zumeist liegen Städte daher an der Küste oder an Flüssen. Diese ermöglichen neben der Verfügbarkeit von Nahrungsmittel und Trinkwasser auch den Transport von Gütern über das Wasser. Weitere gründe sind immer begleitet durch die Faktoren Ernährung und Versorgung, sowie Transport und Entwicklung. Sind einige dieser Faktoren hinreichend gut abgedeckt kann eine Stadt wachsen. Hier ist ein weiterer Faktor wichtig. Bequemlichkeit oder genauer gesagt Effizienz. Es ist einfacher Gebäude auf ebenen Flächen als an Hängen zu Bauen und es ist einfache Straßen in der Ebene oder an Hängen zu bauen als Brücken.
Diese Muster eignen sich dazu Regel vür das Wachstum der Stadt zu erstellen. Industrie braucht Transportwege und Rohstoffe, Geschäftsviertel brauchen Kunden , also Bewohner und Bewohner benötigen Erholung. So definieren sich Stadtnutzungsbereiche und Stadtentwicklungsschemata.
Im Kern entstehen öffentliche Einrichtungen, drum herum Wohngebiete und Industrie. Die Industrie wählt dabei bereiche die gut erreichbar sind (flache Küsten) oder Rohstoffe bieten, wie Berghänge, Wälder und Flüsse. Wohngebiete gruppieren sich gern in der Nachbarschaft von Geschäftsviertel und in der Nähe von Freizeitgestaltungsmöglichkeiten wie Parks, Teichen, Stränden oder am Stadtrand. Weitere Faktoren, wie zum Beispiel Arbeiterviertel in denen eine Große Zahl einfacher Arbeiter in günstigen Wohnenungen leben bilden die Mischbereiche zwischen Wohn-, Geschäfts- und Industrievierteln.
Allen gemein ist eine Ausdehnung nach Effizienzmustern. Ist noch Platz in der Umgebung der Stadt, so wird zuerst dort weitergebaut, bis alle Ebenen Geländebereiche bebaut sind. Dann beginnt die Bebauung der unteren Hänge, bis es effizienter ist eine Verbindung zum nächsten ebenen Siedlungsgebiet zu schaffen. Dort wiederholt sich nicht nur der initiale Prozeß (durch bildung neuer Stadtkerne und entsprechender Weiterentwicklung sondern es setzt sich auch der initiale Prozeß fort und bildet Mischbereiche zwischen altem un neuem Stadtkern.
Wir haben diese Prozesse zur Veranschaulichung schon sehr weit vereinfacht. Diese Regeln vollständig abzubilden ist nicht praktikabel. Hier erlauben wir uns eine starke Vereinfachung. Solange man mit einer gewissen unschärfe Geschäfts-, Wohn- und Industrieviertel definieren kann, erreicht man die erforderlichen Variationen. Beispiel: man nehme grundsätzlich 40% aller Gebäude aus einem Pool kleiner Geschäfts- und Wohngebäude und 60% aus den Pools für Geschäfts-, Wohn-, oder Industriegebäude entsprechend der Definition des Stadtviertels, so erlangt man Bereiche die zwar Hauptsächlich (60%) aus den Gebäuden für den Typ des Stadtviertels stammen aber dennoch eine Variation der Gebäude innerhalb des Viertels. Setzt man nun eine Glockenkurve vom Geometrischen Zentrum eines Gebietes nach außen gehend an und definiert das dieser Prozentsatz im Kern stärker als am Rand ausgeprägt ist, so erreicht man die oben beschriebenen Komplexität auf „einfache“ Weise.
Scene City – Distribution
SceneCity bietet mit SceneTerrain ein mächtiges Werkzeug zur Terrainerzeugung. Es ist in der Lage eigene Terrains zu erstellen und Höhenreliefs inform einer 8Bit Textur als input zu akzeptieren. Das Gelände kann mit vorgegebenen und eigenen Bodentexture vefsehe und automatisch mit vorgegebenen oder eigenen Objekten wie z.B. Bäumen populiert werden.
Im Zusammenspiel mit SceneSkies für die Erstellung hochwertiger Skydomes wird daraus die perfekte Außenszene.
Gebäude und Details
Gebäude und Details sind hier jene Elemente die zwischen den Infrastrukturelementen Plaziert werden. Die Zugangsbereiche solcher Elemente (Gebäude) sollten in Richtung der nächsten Straße ausgerichtet sein. Einige Elemente dienen der visuellen Verdichtung. In der Vergangenheit wurden oft einfache Greebles (Geometrische Grundformen ohne Funktionsbezug) dafür verwendet. Heute sind diese Greebles ausmodellierte Detailobjekte wie z.B. Klimaanlangen, Antennen, Wassertanks, Helipads, Dachgärten, Werbetafeln, Neonreklame, Fahrstuhlschacht-Häuschen, Bushaltestellen, Parkbänke, Ampeln, Verkehrsschilder, Vegetation und vieles mehr. Einige der Details sind Infrastrukturdeteils (Ampeln, Tore, Schranken, etc.) und andere sind Gebäudedetails (Wassertanks, Klimaanlagen, Zeitungskioske, Briefkästen, Telefonzellen, etc.) und manche lassen sich sowohl als Detail als auch als Gebäude einsetzen (Zeitungskiosk, Telefonzelle, Werbetafel, Wassertank, Bushaltestelle, etc.). Die Plazierung dieser Objekte erfolgt erneut nach Regeln, die auf jede Dachfläche oder ungenutzte Terrainfläche angewendet werden. Auch hier spielt die Aurichtung der Details unter Umständen eine Rolle.
Auf Prozedural modellierte Gebäude (ein Merkmal wirklich teuerer und komplexter 3D-Stadtentwicklungstools, die wir uns nicht leisten können) verzichten wir hier. Lediglich die Kombination von Unterstockwerken und dem Rest eines Gebäudes sind hier in der engeren Wahl. Mann kann z.B. die Sockelgeschosse (Eingangsbereiche und Zufahrten) von Wolkenkratzen für mehrere Gebäude verwenden. Je nach Grundriß verwenden z.B. alle viereckigen, sechseckigen oder zylinderförmigen Gebäude dazu passende (und nicht unbedingt immer die selben) Sockelgeschosse, die es ermöglichen mittels einmaliger Detailarbeit ein Dutzend Gebäude mit individuellen Sockelgeschossen auszustatten, von denen einige Tiefgaragen. Ob diese letztlich Prozedural platziert und die eigentlichen Gebäude darauf platziert werden oder ob die Sockelgeschosse bereits in das Grundgebäudemodell integriert werden hängt von der gewünschten Flexibilität ab. Wir gehen zunächst von kompletten Gebäuden einschließlich des umgebenden Grundstücks aus.
Ansatz
Die meisten Tools beherrschen die prozedurale entwicklung von Städten auf überschaubaren Flächen sehr gut, berücksichtigen jedoch oft nur einen oder maximal zwei Straßentypen. Sttrassenentze werden zumeist in einer Gitterstruktur angelegt, seltener mit gebgenen oder schrägen bzw. organischen Mustern. Selbst wenn mehr als ein Plazierungstyp (Gitter, Organisch, Rund) existiert ist die Komplxität überschaubar. Die Resultate eignen sich eher für Stadtteile als ganze Metropolen. Gehen wir nun davon aus das Hauptstraßen und Schnellstarßen solche Stadtteile miteinander verbinden, so können wir uns daz zu nutze machen. Es werden mit den entsprechenden Tools die Stadtteile prozedural erstellt und dann als Objekt manuell in relation zu anderen derartigen Stadtteilen platziert und durch Schnell- und Hauptstraßen, sowie Bahnlinien miteinander verbunden. So erreicht man die Komplexität und diversität einer gewachsenen Metropole.
Im nächsten Artikel beschäftigen wir uns mit den Tools für die Erstellung. Und in weiteren Artikel mit der Erstellung eines Stadtplans.
Hintergrund / Skydome
Da die meine Maschinen nicht in der lage sind detaillierte Riesen-Städte ausschließlich in 3D zu rendern, muss ich auf 2D Hintergründe zurückgreifen. Im Grunde benötige ich ein Panorama-Mattepainting, so dass ich mich auf die Vordergrundelemente beschränken kann. Dazu rendere ich eine Ressourcelibrary mit einzelnen Gebäuden sls Sprites, die dann entweder einzeln oder kombiniert als Background in die jeweiligen Szenen integriert wetden können.