Procedural's CityEngine In Review

Almost anyone who has ever wanted to make a film has dreamed of
setting up a scene with a big city, be it a modern or ancient city.
I even did it once for a short film some years ago, and I ended up
manually placing a countless number of textured cubes, but the
result was far from satisfactory. My city actually turned out to be
a small town with only a few buildings.

My main problem is my lack of programming skills to actually
make a tool that would allow me to build that city; on top of that,
as an independent filmmaker you don’t have your own R&D
department where TDs will spend weeks and months working on that
specific thing you need. Things would have been different if
CityEngine had been in my toolset.

CityEngine is a city generator by Procedural Inc. If
you’ve been following our news, you must know that Procedural
took part in the Rome Reborn project that we got to see this past
August at SIGGRAPH. If you had the chance to see the complete Rome
Reborn model, you can imagine the massive amount of data that
CityEngine generated for that project.

When you start a new project you have the option to follow a
wizard that guides you through the different steps that will
eventually create your city, from the roadmap to the city growth.
The software uses the “CGA Shape grammar” language,
which is a text-based scripting language to create the buildings.
Each building has its own CGA Shape file that defines the different
properties, so you can edit that file to make that specific
building fit your needs.

Buildings are based on a sliced grid primitive that defines the
different floors and areas (pretty much a subdivided cube that lets
you make changes on a per-face level). Using a primitive alone can
be limiting, and that’s why you can also load custom geometry
on the buildings to get exactly the look you want. You can use
custom geometry to replace cells on the grid, which is mostly used
for windows and doors. This doesn’t mean you are only limited
to windows and doors, as you can place the custom geometry
virtually anywhere. Using the same method you can also load
textures to be placed on the faces of the buildings (or onto the
custom geometry).

Every time you start a new project (or workspace), CityEngine
creates a folder structure where it stores all of your assets (this
is the same concept as when you create a new project in Maya). This
helps your projects organized as the software always knows where to
look for the different assets, and personally I’d wish that
more DCC software packages would use this same philosophy as you
always end up having to arrange your data by yourself.

As I said before, every building has its own CGA file. However,
you can also assign one specific CGA file to a group of buildings
in case you need an area where the buildings look similar. You can
then randomize parameters to add variations to the buildings. This
can be useful if you want to make areas of your city with buildings
that look somewhat similar, but with certain differences (for
example, a lot of apartment buildings, or an industrial area).

The city creation process is not exactly a “one click
wonder.” However, it’s far superior to manually placing
your buildings.

For creating streets, you usually go through the Street
Generator. That wizard generates a street network based on the
parameters that you’ve set up. You can then add or delete
streets, as well as move the street nodes. In the latest release
(2008.2), you can also import data in OpenStreetMap format
(www.openstreetmap.org), meaning
that you could recreate almost any city in the world inside
CityEngine.

You can also use “Environment maps” to define the
shape of your street.

Elevation maps are used to define an uneven terrain that
contains inclinations, hills and such. For example, the terrain
used in Rome Reborn had a lot of hills and uneven environments.

Obstacle maps are used to prevent the streets from filling
certain areas. Maybe your city is built around a mountain or
something similar (like the capital city in my country). Using an
Obstacle map, you can prevent the streets from climbing the
mountains.

After you’ve finished the street network, you can generate
the street shapes and lots. The final step is to create the
buildings as I’ve described above. You can customize your
city using a skyline map and a region map. Skyline maps are used to
control the height of your buildings, telling the program where to
place tall buildings and where to keep them small. A region map is
a map that describes the types of buildings you can find in your
city (urban areas, industrial buildings and such).

CityEngine alone would not be as useful in a production
environment, and having the ability to plug into any production
pipeline is a must. The software can export to the industry
standard FBX and COLLADA formats, as well as OBJ, and the generated
wireframes are very clean (unless the custom geometry that you may
have used for your buildings is not clean).

With a price tag of nearly $5,000 (USD) you can clearly see this
is aimed to big budget studios or professionals, so many may end up
being discouraged by the price. All I can tell you is that
CityEngine is indeed a timesaver if you need to create any kind of
city for a big project.

All supporting images are copyright, and cannot be
copied, or reproduced in any manner without written
permission.

Animation
Alley is a regular featured column with Renderosity Staff
Columnist Sergio Rosa
[nemirc]. Sergio discusses on computer graphics software,
animation techniques, and technology. He also hosts interviews with
professionals in the animation and cinematography fields.

December 15,
2008

Please note: If you find the color of the text hard to read,
please click on "Printer-friendly" and black text will
appear on a white background.

Create your masterpieces
with products from the Renderosity MarketPlace

Article Comments

I was getting kinda interested until I saw the pricetag... gonna go back to my Stonemason sets now!

deemarie ()
posted at 12:13PM Tue, 16 December 2008

Wow, that is too much fun!

Pheth ()
posted at 10:29AM Thu, 18 December 2008

I would hope that someone would communicate back to the creator of this neat program that a limited edition/limited function tool (i.e. less $$$$$) like this might be of interest to our community.

LCBoliou ()
posted at 3:11PM Fri, 19 December 2008

I think I'll stick with SketchUp for rapid building creation. The creator of this application should really look into creating an LT version for middle-class income users -- but don't eliminate the 3D export function!

KingNot ()
posted at 2:27AM Sat, 20 December 2008

Again, I say they charge too much. I ask the company that makes this to ask itself; "How many big budget studios will buy this for $5 grand, versus how many amateur 3D artists who'll drool to plunk down $50 to buy this?"

thefixer ()
posted at 4:44AM Sat, 20 December 2008

Terrific tool, but at 5 grand I'll stick to my greeble blocks!!

nemirc ()
posted at 2:02PM Sat, 20 December 2008

pazzazzu, LCBoliou, I get the point on the LT version, and maybe it would be a good move to offer such version. It would still be needed to know what to remove from the software. KingNot, as I may understand your point there, not even Poser is sold for $50. Tools like DazStudio are free but DAZ pretty much does it because they are more than sure to recover the R&D investments from content and add-ons (like the new animation thing). As I said before, I may understand the point but $50 is asking too much for a software that allows you to control pretty much any aspect of how the city looks compared to throwing a bunch of greeble blocks in your scene.