Your SlideShare is downloading. ×

Master thesis pascal_mueller04

341
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
341
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 52 6. PROZEDURALE GEBÄUDEGENERIERUNG
  • 2. 7CityEngine User Manual 7.1 Die Oberfäche Das Programm wird mit dem Kommando CityEngine gestartet. Abbildung 7.1 zeigt einen Screenshot, nachdem ein Parameterfile geladen wurde, und anschliessend ein Strassennetzwerk erzeugt wurde. Abbildung 7.1: Die Oberfläche der CityEngine. Das User Interface ist in 3 Module unterteilt, die alle eine eigene Buttonliste, einen Workspace, ein Parameterpanel und (falls nötig) eine Timeline zur Verfügung haben. Die 3 Module sind: • LSystem (Strassennetzwerkerzeugung) • Streets (Strasseneditor) • Allotments (Parzellierung und Gebäudegenerierung) Das gewünschte Modul kann über die Modulliste angewählt und aktiviert werden (ShortCuts: Funktionstasten F1-F3). 53
  • 3. 54 7. CITYENGINE USER MANUAL 7.1.1 Workspace Der Workspace dient zum Betrachten und Editieren der dem jeweili- gen Modul zugehörigen Daten. Alle Eingabebilder können hier mit der richtigen Skalierung dargestellt werden. Die Steuerung des Workspace bleibt in allen Modulen gleich. Befindet sich die Maus über dem Workspace werden in der Informationline die Koordinaten und der Wert (0 bis 1) des aktiven Hintergrundbildes angezeigt. Der Ursprung (0,0) ist links unten. Mit den Scrollbars oder der mittleren Maustaste kann gescrollt werden. Drückt man die rechte Maustaste erscheint das in Abbildung 7.2 dargestellte Menu. Der untere Teil des Menus ist für das Zooming verantwortlich (Shortcuts für Zoom In und Zoom Out: Ctrl-+ und Ctrl--). Im oberen Teil kann eines der Hintergrundbilder zur Anzeige ausgewählt werden. Da Tk für die Bilddarstellung verantwortlich ist, ist es ratsam, wenn sehr nah Abbildung 7.2: herangezoomt wurde, das Hintergrundbild auszuschalten (Eintrag Workspace-Menu None). In der mittleren Sektion des Menus können die Kontrollbilder der Regeln für das L-System, welches die Strassennetzwerke generi- ert, angezeigt werden. 7.1.2 File-Menu und Preferences Im File-Menu (Abbildung 7.3) können die Parameterfiles (Endung: .par), welche die Daten eines ganzen Projektes verwalten, geladen und gespeichert werden (durch die ersten Einträge des Menus oder die beiden Buttons und ). In der nächsten Sektion können Anzeigeoptionen für den Workspace eingestellt werden. Man kann anwählen, welche Daten angezeigt werden sollen, da zum Teil in Modulen mehrere Datentypen speziell dargestellt werden. Über den Eintrag Preferences kann ein Fenster mit allgemeinen Einstellungen geöffnet werden. Die 19 Parameter im Preferences-Fenster werden auf dieselbe Art Abbildung 7.3: dargestellt wie in einem Parameterpanel. In diesem Fenster können File-Menu Werte eingestellt werden, die von allen 3 Modulen benötigt werden. Die beiden wichstigsten Parameter sind Länge und Breite des Work- spaces in Metern. Diese Werte werden nicht nur zur Anzeige benutzt, sondern werden vom gesamten System immer wieder abgefragt. Weiter können hier die Pfäde zu allen Eingabebil- dern (Populationsdichte, Elevation etc.) editiert werden. Die Parameter der in allen Modulen benötigten Graph-Datenstruktur sollten nur in Extremfällen editiert werden. Bei Änderungen der Parameter sollte das Parameterfile abgespeichert und neu geladen werden, da viele Klassen neu instanziert werden müssen. Auch kann im Preferences-Fenster die Auflösung der Ausgabe- bilder aller Module eingestellt werden (diese Parameter können auch nachträglich verändert werden). 7.2 Strassennetzwerkerzeugung (LSystem-Modul) Das LSystem-Modul, welches bei Programmstart aktiv ist, dient zur Erzeugung der Strassen- netzwerke. Mit dem Button wird das Axiom (und beim ersten Start das Diffusionssystem) initialisiert (Shortcut: i). Mit dem zweiten Button wird das L-System gestartet (Shortcut: r) und mit dem Button wird nur ein Ersetzungschritt im L-System durchgeführt (Shortcut: o).
  • 4. 7.2 STRASSENNETZWERKERZEUGUNG (LSYSTEM-MODUL) 55 Die Generierung eines Strassennetzwerks für eine Region von ca. 100 Quadratkilometern dauert etwa 10 Sekunden. Das erzeugte Strassennetzwerk wird danach im Workspace darge- stellt (Abbildung 7.1). Highways werden dicker gezeichnet als Streets. 7.2.1 LSystem-Menu Die ersten drei Einträge des LSystem-Menus (Abbildung 7.4) dienen derselben Funktion wie die drei oben schon erwähnten Buttons dieses Moduls. Eingeschaltet bewirkt die Option Save Cells Animation, dass nach jedem Ersetzungschritt ein Bild des Diffusionsystems abgespeichert wird. Die TIFF-Bilder werden im Projektverzeichnis im Ordner images abgelegt. Die Auflösung kann im Preferences- Fenster gewählt werden. Das Kommando View Cells Animation startet den Animationsplayer von Maya (fcheck) und lädt die Animation. Die unterste Sektion des Menus ist dynamisch und enthält soviele Abbildung 7.4: Einträge, wie das L-System Regeln hat. Durch Anwählen eines Ein- LSystem-Menu trags wird ein Parameterfenster eines Ruleparameterfiles geöffnet. Die Reihenfolge dieser Menu-Einträge entspricht der Reihenfolge der Regeln im LSystem-Parameterpanel. 7.2.2 Timeline Nachdem ein Strassennetzwerk generiert wurde, kann in der Timeline der maximale Ersetzungsschritt gewählt werden, der angezeigt werden soll. Klickt man mit der linken Maustaste auf die Timeline, bewegt sich der Timeslider um einen Ersetzungschritt in Richtung des Mauscursors (Shortcuts: Left/Right). Wird die Maus gleichzeitig bewegt, springt der Timeslider direkt zum Mauscursor und der Timeslider verhält sich wie eine Scrollbar. Klickt man die rechte Maustaste, wird die Entwicklung des Strassennetzwerks im Animationsmodus gezeigt (gestoppt wird durch nochmaliges Klicken der rechten Maustaste). Die Timeline dient auch als Progressbar für das L-System. Mit der mittleren Maustaste setzt man den maximalen Ersetzungsschritt, der vom L-System berechnet werden soll. Die Bedienung durch die mittlere Taste gestaltet sich gleich wie mit der linken Taste (Shortcuts: Shift Left/Right). Dieser Maximalwert wird durch einen vertikalen, weissen Strich dargestellt. Im Gegensatz zum Timeslider wird der numerische Wert hier nicht in der Timeline angezeigt, sondern im Para- meterpanel (Max_Derivation_Step), wo er auch via Tastatur verändert werden kann. Startet man die Berechnung eines L-Systems, wird die Timeline zur Progressbar: Der horizontale, weisse Balken wächst bis zum gewählten Maximalwert (siehe Abbildung 7.1). 7.2.3 Parameterpanel Im zugehörigen Parameterpanel befinden sich allgemeine Einstellungen zum L-System wie die Anzahl der gebrauchten Regeln und die Pfade derer Kontrollbilder, sowie Ruleparameterfiles (Endung: .rp). Es können beliebig viele Regeln beliebig vieler Typen aktiv sein. Die Parameter, die mit Insertion beginnen, werden zur Steuerung des selbstsensitiven Teils des L-Systems benötigt. Danach folgen die Parameter des Diffusionssystems und die Daten des Axioms. Das Axiom kann auch im Workspace bestimmt werden, indem mit der linken Maustaste eine Linie bzw. Strasse gezeichnet wird. Die restlichen Parameter werden zur Kontrolle des umgebungs- sensitiven Teil des L-Systems benötigt. Oft werden Zufallszahlengeneratoren definiert. Diese sind meistens durch drei Parameter definiert: einem Seed, einem Hauptwert und einer Standard- abweichung, falls es sich um eine gaussverteilte Zufallszahl handelt. Wird ein Zufallszahlen- generator benötigt, der normalverteilte Zahlen erzeugt, werden meistens folgende drei
  • 5. 56 7. CITYENGINE USER MANUAL Parameter verlangt: ein Seed, ein Minimalwert und ein Maximalwert. Ansonsten sollte die Bedeutung der Parameter anhand derer Namen und mit Hilfe von Kapitel 4 oder dem Imple- mentationsbeschrieb (Anhang A.2) nachvollziehbar sein. Will man das Verhalten des L-Systems beeinflussen, sollte man hier beginnen. Zuerst sollte die Parameter des selbstsensitiven Teils editiert werden, da das Einfügen von Strassen in den Graphen durchgeführt wird und keine anderen Parameter den Vorgang beeinflussen. Hat man akzeptable Werte gefunden, kann man den umgebungssensitiven Teil des L-Systems editieren. Da hier Zufallszahlengeneratoren aktiv sind, sollte man sich erst mit den Parameterwerten zufrieden geben, wenn gute Resultate mit mehreren Seeds erzeugt werden konnten. Falls ein Parametereintrag den Fokus hat, d.h. der Mauszeiger befindet sich über dem Eingabefeld, wird durch Drücken der Return-Taste der Wert des Parameters um eins erhöht und automatisch das L-System neu initialisiert und gestartet. Dieser Shortcut eignet sich hervorragend um ver- schiedene Seeds zu testen. Anschliessend können die Parameter der Regeln editiert werden. 7.2.4 Rule Preferences In einem Ruleparameter-Fenster werden die Parameter eines Ruleparameterfiles angezeigt. Der oben erwähnte Shortcut um Seeds zu testen funktioniert auch hier. Editiert man die Parameter einer Regel, muss man vorsichtig sein, dass die Änderungen nicht vom umgebungssensitiven Teil abgefangen werden. Setzt man beispielsweise eine Topological Rule neu ein, wird diese nur flache und sehr steile Strassen erzeugen. Dadurch wird die umgebungssensitive Überprü- fung problematisch, falls die Werte von Elevation_Threshold_Highway und Elevation_Threshold_Road im Parameterpanel nicht angepasst wurden. Zuerst sollte immer das Verhalten der Highways edit- iert werden. Dies kann effizient durchgeführt werden, indem man den beiden Parametern Road_Branch_Delay_Min und Road_Branch_Delay_Max hohe Wert gibt (diese Parameter kommen in jeder Rule vor), und das L-System nur ca. 300 Ersetzungsschritte generieren lässt. So werden bestimmt alle Highways und keine Streets berechnet. Danach können die Streets editiert werden (diese haben keinen Einfluss auf die Highways). Auch hier gilt: aufgrund des Namens eines Parameters kann auf dessen Bedeutung geschlos- sen werden. Da alle Regeln auf der Western Rule basieren, wurden auch alle Parameterfiles der anderen Regeln aus demjenigen der Western Rule abgeleitet. Der Radial Rule wurden beispiels- weise nur die beiden Parameter, die das Zentrum definieren, hinzugefügt. Das Set der Grid Rule wurde um die Parameter erweitert, die das Grid definieren. Die Topological Rule hat zwei Schwellwerte zusätzlich, welche verantwortlich dafür sind, ab welcher Steigung die Topologi- cal Rule aktiv ist (d.h. auf flachem Gebiet wirkt nur eine Western-Rule). 7.3 Strasseneditor (Streets-Modul) Dieses Modul dient dem nachträglichen Editieren der generierten Strassen. Mit dem ersten Button ( ) kann das Strassennetzwerk aus dem L-System-Modul in das Streets-Modul über- nommen werden. Abbildung 7.5 zeigt einen Screenshot, indem auch die Knoten des Graphen gezeichnet werden (Option Show Crossings im File-Menu eingeschaltet) Mit der linken Maustaste können im Workspace Strassen selektiert werden. Durch nochmaliges Anwählen werden sie wieder aus der Selektionsliste gelöscht. Drückt man die Shift-Taste und die linke Maustaste gleichzeitig, kann der dem Mauscursor nächste Knoten verschoben werden. Im Parameterpanel können Schwellwerte für das Smoothing und Parameter für das Berechnen von TIFF-Bildern des Graphen eingestellt werden. Die Timeline ist eine reduzierte Version der Timeline des L-System-Moduls, da weder Progressbar noch Animationsmodus in diesem Modul benötigt werden.
  • 6. 7.4 PARZELLIERUNG UND GEBÄUDEGENERIERUNG (ALLOTMENTS-MODUL) 57 Abbildung 7.5: Das Strasseneditor-Modul. 7.3.1 Streets-Menu Ist ein Strassennetzwerk geladen ( oder Get Streetnetwork), kann es als Graphfile (Endung: .gra) abgespeichert werden. Ein Graphfile kann jederzeit, unabhängig vom L-System-Modul, wieder geladen wer- den. Die zweite Sektion des Menus dient dem Editieren von Strassen, wobei durch Drücken des Button selektierte Strassen gelöscht werden (Shortcut: Delete). Die dritte Sektion ist verantwortlich für das Smoothing. Der Befehl Smooth selected Streets führt den Smooth- ing-Algorithmus nur auf den selektierten Kanten und derer Endkno- ten aus. Der Button hat die gleiche Funktion wie Smooth all Streets. Will man vom Strassennetzwerk ein berechnetes Bild mit Anti- Aliasing (beispielsweise als Textur) oder eine ganze Sequenz der Entwicklung abspeichern, kann man Render TIFF bzw. Render TIFF Sequence anwählen. Die Bilder werden im Projektverzeich- Abbildung 7.6: nis im Ordner images abgelegt. Die beiden View...-Befehle starten Streets-Menu fcheck (wie im L-System-Modul). 7.4 Parzellierung und Gebäudegenerierung (Allotments-Modul) Das Allotments-Modul ist zuständig für die Extraktion der Häuserblocks aus einem Strassen- netzwerk, die Unterteilung in Gebäudegrundrisse und das Konstruieren von Gebäuden. Der Button extrahiert aus dem im Streets-Modul geladenen Graphen die Häuserblocks (Polygone). Die Suchtiefe kann im Parameterpanel angegeben werden (Max_Cycle_Search_Depth). Mit dem Button können die Strassenkorridore erzeugt werden, indem die Polygone verklein- ert werden. Abbildung 7.7 zeigt einen Screenshot, nachdem die Polygone in Häuserblocks unterteilt wurden (mit Button ). Im Parameterpanel befinden sich Kontrollwerte der oben erwähnten Operationen und Einstel- lungen zur Gebäudegenerierung. Besonders erwähnenswert ist der Parameter Max_House_Ground_Area, welcher das Abbruchkriterium der Subdivision neben der Populations- dichte entscheidend mitbestimmt.
  • 7. 58 7. CITYENGINE USER MANUAL Abbildung 7.7: Das Allotments-Modul. 7.4.1 Allotments-Menu Der Eintrag Get Blocks extrahiert die Häuserblocks (wie Button ). Diese können als Blockfile (Endung: .p) abgespeichert und geladen werden. Mit gedrückter Shift-Taste und der linken Maustaste kann eine Bounding Box im Workspace definiert werden. Ist diese aktiv, werden nur Blocks innerhalb der Bounding Box abgespeichert. Man kann sie wieder deaktivieren, indem man mit gedrückter Shifttaste die linke Maustaste klickt (ohne die Maus dabei zu bewegen). Cut Streets erzeugt die Strassenkorridore. Die dritte Sektion des Menus ist verantwortlich für die Unterteilung der Häuserblocks: Ist der Eintrag Inside Lots eingeschaltet, werden Gebäudegrundrisse, die keine Kante an einer Strasse haben, nicht verworfen. Die Option Convert Rectangle bewirkt, dass viereckige Polygone, die nahezu eine Abbildung 7.8: rechteckige Form haben in Rechtecke verwandelt werden. Dazu wird Allotments-Menu eine In-Box berechnet. Die Unterteilung wird duch Anwählen von Divide into Lots durchgeführt. Die daraus entstanden Gebäudegrund- risse können als Lotfile (Endung: .p+) abgespeichert und geladen werden. 7.4.2 Buildings-Menu Der erste Eintrag ruft für jeden Grundriss eines der Shape Grammar L-Systeme auf und speichert diese als Stringfiles. Die verschiedenen L-Systeme können mit dem Pythonskript LSystemControl.py kontrolliert werden. In dem Skript werden die L-Systeme den Typen (Residential, Commercial oder Industrial) zugeordnet und die Wahr- scheinlichkeit ihres Auftretens innerhalb eines Types kann einge- tragen werden. Mit Attach Shapestrings werden die generierten Stringfiles der Polygondatenstruktur zugewiesen. Der Button ruft Abbildung 7.9: diese beiden Befehle nacheinander auf. Die Strings werden erst inter- Buildings-Menu pretiert, wenn die Gebäude abgespeichert werden. Der Eintrag Generate Shapestrings (one Rule) verwendet nur das im Parameterpanel angegebene Shape Grammar L-System (Parameter Building_Rule_File). Der Befehl Attach Shapestring (File) weist allen Gebäudegrundrissen
  • 8. 7.4 PARZELLIERUNG UND GEBÄUDEGENERIERUNG (ALLOTMENTS-MODUL) 59 denselben Shape String zu. Dieser kann auch im Parameterpanel angegeben werden (Parameter: Shape String File). Die letzten beiden Befehle dienen vor allem Testzwecken, wenn neue Shape Grammar L-Systeme entwickelt werden. Ist die Option Procedural Texturing ausgeschaltet, werden der Geometrie Mapping-Texturkoordinaten zugewiesen (siehe B.9).
  • 9. 60 7. CITYENGINE USER MANUAL
  • 10. 8Resultate In diesem Kapitel werden einige Bilder präsentiert, die mit der CityEngine bzw. Maya erzeugt wurden. Die entsprechenden vollständigen Sequenzen sind im zugehörigen Siggraph-Video zu sehen. Im ersten Beispiel wurde eine der Stadt Zürich ähnliche Topologie benutzt, im zweiten Beispiel wurde versucht, den New Yorker Stadtteil Manhattan genau zu rekonstruieren. 8.1 Zürich Das Gebiet ist 20km lang, 20 km breit und maximal 600m hoch. Abbildung 8.1 illustriert das Strassennetzwerk, dessen Generierung etwa 20 Sekunden dauerte. Die Eingabebilder Wasser- Land und Parks sind entsprechend eingefärbt (weitere Eingabebilder sind in Abbildung 3.2 dargestellt). Der Wachstum beginnt in der Mitte der zyklisch angeordneten Stadt (→ Radial Rule). In den Gebieten mit stark steigender Elevation folgt der Wachstum den Gesetzen der Topographical Rule. In diesem Beispiel ist gut zu erkennen, wie der Wachstum der Strassen durch die nach aussen niedrigere Populationsdichte bedingt, entsprechend abnimmt und so nur noch Agglomerationen erzeugt werden (→ Open L-System). In Abbildung 8.2 und 8.3 sind Renderings einer Szene mit ungefähr 37’000 Gebäuden zu sehen. Die Bilder wurden mit Alias|Wavefronts Maya berechnet. Die Generierung der Gebäu- deformen (d.h. die Erzeugung aller 37’000 Shape Grammar Strings durch die L-Systeme) dauerte ca. 20 Minuten, das Interpretieren und Einlesen der Daten in Maya dauerte nochmals 20 Minuten (Prozessor: Mips R4400, 350MHz). Die Bilder wurden nur mit dem schnellen Ray- casting-Verfahren berechnet. Die Schatten wurden mit einer Shadowmap erzeugt. Die durch- schnittliche Renderzeit lag bei 4 Minuten, wobei die Anti-Ailasing Qualität sehr niedrig eingestellt wurde und zusätzlich Depthmap und 2D-Motionblur (für die Siggraph-Animation) berechnet wurde. Als Renderplattform kam eine Onyx 2 mit 8 Prozessoren und 4 Gigabyte Spe- icher zum Einsatz. Für das Rendern dieser Szene werden etwa 450 Megabyte Speicher benötigt, und da Maya die Szene für jeden Prozessor einzeln in den Speicher lädt, werden beim Render- ing mit 8 Prozessoren 3.4 Gigabyte Speicher benutzt. 61
  • 11. 62 8. RESULTATE Abbildung 8.1: Das generierte Strassennetz von Zürich. Oben: Entwicklung der Highways nach 50 und 100 Ersetzungsschritten. Unten: Das endgültige Strassennetz mit Highways und Streets (551. Schritt).
  • 12. 8.1 ZÜRICH 63 Abbildung 8.2: In Maya gerenderte Bilder einer Stadt, die mit der CityEngine erzeugt wurde.
  • 13. 64 8. RESULTATE Abbildung 8.3: Weitere Renderings derselben Stadt wie in Abbildung 8.2. Der Nebel wurde mit einer Depthmap erzeugt. 8.2 Manhattan Das Gebiet ist 12 km lang und 5 km breit. Abbildung 8.4 illustriert das Strassennetzwerk, dessen Generierung etwa 10 Sekunden dauerte. Das Wachstum beginnt im vorderen Teil der Insel und folgt zuerst den Gesetzen der Western Rule und anschliessend denen der Grid Rule. Die Local Constraints sind für die Highways entlang der Küstenlinie verantwortlich. In Abbildung 8.5 und 8.6 sind Maya-Renderings einer Szene mit ungefähr 10’000 Gebäuden zu sehen. Die Generierung der Gebäudeformen dauerte ca. 15 Minuten, das Interpretieren und Einlesen der Daten in Maya dauerte nochmals 15 Minuten. Die Gebäudeformen sind in diesem Beispiel wesentlich komplexer als bei der Zürich-Szenerie (beispielsweise sind die auf den Dächern Kamine und Geländer zu sehen). Die Bilder wurden mit Raytracing mit Reflektions- tiefe 2 und Schatten berechnet (durchschnittliche Renderzeit: 6 Minuten).
  • 14. 8.2 MANHATTAN 65 Abbildung 8.4: Rekonstruiertes Manhattan. Oben: Entwicklung des Strassen- netzwerkes nach 28 und 142 Ersetzungsschritten. Mitte: Resultier- endes Strassennetzwerk (nach 228 Schritten). Unten: Die echte Strassenkarte zum Vergleich.
  • 15. 66 8. RESULTATE Abbildung 8.5: Renderings vom virtuellen Manhattan. Das oberste Bild zeigt die Spiegelung der Stadt in einem stark reflektierenden Fenster (mit Bumpmap).
  • 16. 8.2 MANHATTAN 67 Abbildung 8.6: Weitere Renderings aus dem virtuellen Manhattan (Fortsetzung von Abbildung 8.5).
  • 17. 68 8. RESULTATE
  • 18. 9Schlussbemerkungen 9.1 Fazit Im momentanen Stand der Entwicklung, indem sich die CityEngine befindet, eignet sie sich gut für Anwendungen in Filmproduktionen. Die CityEngine erfüllt fast alle Anforderungegen die eine Filmproduktion verlangt: Das Modeling ist schnell (d.h. billig), die ganze Pipeline sehr flexibel und mit dem Output können visuell ansprechende Bilder produziert werden. Der benötigte Zeitaufwand für Letzteres (siehe Kap 8, Resultate) ist der Schwachpunkt der City- Engine. Im nächsten Unterkapitel findet man eine kurze Diskussion über Level of Detail, durch dessen Verwendung die Renderzeiten um einiges verkürzt werden könnten. Die CityEngine kann in jeder Phase einer Filmproduktion benutzt werden: Das Design der Stadt kann mit ihrer Hilfe entworfen werden; sie eignet sich geradezu hervorragend für das Erstellen von (Video-) Storyboards, und natürlich kann sie zum Erstellen der endgültigen Aufnahme verwendet wer- den. Im CAAD kann die CityEngine ebenfalls gut verwendet werden: Einerseits als Tool für die Erzeugung von Hintergrundgeometrien und andererseits können mit der CityEngine Shape Grammar auf einfache Weise Gebäude entworfen werden. Um die CityEngine in der Game Industrie zu benutzen, müsste vor allem das Modeling der Strassenzonen verbessert werden. Im Film, wo die Einstellungen bekannt sind, können nötige Details wie beispielsweise Strassenlaternen ohne grossen Aufwand manuell platziert werden. In einem 3D-Game müsste dies im ganzen Stadtmodel gemacht werden (falls der Spieler die Freiheit hat, überall hinzugehen). Ein weiterer Nachteil der CityEngine ist der fehlende Level of Detail, welcher in der Game Industrie ein Muss ist. Dass die Strassennetzwerkerzeugung im Bereich des Urban Streetnetwork Modeling verwendet wird, ist momentan eher unwahrschein- lich, da bautechnische Strassenmodelle, wie beispielsweise das Bauen einer Einfahrt, nicht in der CityEngine implementiert wurden. 9.1.1 Strassennetzwerkerzeugung Der implementationstechnische aufwendigste Teil der CityEngine, die Strassennetzwerkerzeu- gung, liefert zufriedenstellende Ergebnisse. Vor allem die Kontrolle des L-Systems durch den umgebungssensitiven und selbstsensitiven Teil, sowie die Integration neuer Regeln im L-System funktionieren sehr gut. Die Bewertung der Regeln hängt davon ab, wie sie program- miert wurden, und in welchem Anwendungsbereich die CityEngine eingesetzt werden soll. Betrachtet man die Strassennetzwerkerzeugung als Tool, welches Gebäude realistisch in einer 69