CityEngine is the ultimate tool for creating cities really fast. It took me only one and half months to deliver a complete urban area of 10km2, the entire project procedurally modeled with CityEngine.
Project goal: generic urban planning patterns
To demonstrate Phosphore 2, an urban planning project of the large French construction and Civil Engineering company Eiffage, a compelling master plan and 3D visualization had to be created with the following production requirements:
- The urban mass plan and architectural typological modeling was iteratively designed in a collaboration of the involved parties (architect, producers, and CGI artist) and therefore had to be formalized in 3D very quickly.
- The final plan had to be a proof of concept for the applied urban planning patterns - which afterwards could be deployed easily on other cities with different topography and spatial contexts. In other words, the urban mass plan was not fixed and not strictly drawn, but rather specified through guidelines and design principles such as different building typologies at certain percentages etc.
- Building designs were derived from strong conceptual typologies designed by the architect. In this context, seven typologies of buildings were roughly sketched by the architect and associated to several structural and programmatic principles such as:
- A basic shape guideline for each of the typologies footprint: triangle, multi-polygonal, arborescent, domino or small squares.
- The arborescent typology is elevated on pillars that should adapt to the terrain topography.
- Each of the buildings should feature a constrained inhabitable coefficient (according to its ground area).
- Proximity and accessibility to streets and major axis is guided through the definition of distance and orientation constraints.
- Each of the building typologies have different facade designs which have to adapt themselves to design rules and constraints like sun orientation or proximity to neighbor buildings.
Solution: parametric designs with CityEngine
It was obvious that it is not possible to take all the guidelines and constraints given by the architect and try to manually model this entire 3D urban environment with standard CAD or DCC tools. Procedural techniques have to be applied to convert the design guidelines and constraints into rules and parametric designs. Thus, CityEngine was ultimately the ideal candidate to build this urban environment.
"CityEngine is a dedicated streamlined tool powered by its highly abstract CGA scripting language. All tools in CityEngine are urban or architecture oriented. The user manipulates architectural concepts through derivation of simple yet powerful scripting operators: In CE you don't deal with polygons, vertices and so on (and you don't have to do complex math!), but you rather focus on patterns, rhythms, sequences and space partitions. Your city or building modeling process becomes a natural design thinking process - as if you were writing a piece of constructive DNA which could adapt itself in any situation or location. The strength of the CGA shape grammar is its simplicity: if one can naturally describe a building or a city in terms of patterns, rhythms, splits, repetitions, one can write a CGA rule which grows this particular kind of building with variations."
Romain Janil, Virtualization
Applied production workflow
For the procedural modeling of this large-scale urban environment, VFX studio 3eme Oeil subcontracted Romain Janil from Virtualization, who carried out and applied the following workflow:
- Creation of real world data and export existing building footprints as shapefiles.
- Import into the CityEngine to constrain the relief or make obstacle or attribute maps (sea, parks, bridges etc).
- Procedural growth of road networks following the design guidelines, hand editing of particular spots.
- Procedural subdivision of lots and parcels following the design guidelines like minimum, or maximum area for each building area.
- Procedural growth of the arborescent building typology with a recursive CGA rule.
- Procedural spread of other typologies in either stochastic or orientation/area based derivation rules.
- Procedural scripting of the facade typologies according to the design guidelines: skinned bird nest to occlude light on south oriented facades, balconies on north facades, stochastic distribution of open windows, curtains, etc.
- Procedural distribution and derivation of urban furniture (benches, lamppost, line of trees, wood paths in parks).
CityEngine was then used to directly generate the models in the 3D viewport at interactive rates. It was possible to generate a 14 million polygon model of the entire area and still be able to navigate the scene, change parameters etc. The entire model was then exported into Collada® in structured pieces and given to 3eme Oeil which integrated the generated 3D data for the final renderings and animations.
Production facts: 15,000 buildings in 1.5 man/months
- Software used: Global Mapper®, CityEngine®, Maya®, Lightwave 3D®
- Time of procedural production all included: 1.5 man/months
- Procedural generation time of whole area in the CityEngine: ˜5 minutes
- Area procedurally generated: ˜10 km2
- Total number of final produced procedural polygons: 14 million
- Number of buildings and individual features in the terrain: ˜15'000
- Procedural modeling: Romain Janil, Virtualization
- Architect / Urban Planning: PGA architecture
- VFX production client: 3eme Oeil studio
- Project client: Eiffage