CityEngine 2009.3 In Review

In December 2008, I had the chance to review CityEngine, a procedural city generator by
Procedural Inc. Last year, they released CityEngine 2009, as well
as dot-versions of the application. For this review, I’m using
version 2009.3 (released late last year).

For those who don’t know, CityEngine is a software application
that facilitates the creation of large-scale cities, allowing the
user to create them procedurally (meaning that the user sets
different sets of rules and the city is created according to those
rules). These rules control size and construction of buildings,
streets, elevation, and even city areas. Cities created in
CityEngine can be exported to any 3D application, thanks to the
variety of exporters available.

The CityEngine interface is made up of different “tabs.”
This allows you to rearrange the interface to fit your needs, close
and minimize tabs, and also detach each tab as a floating window.
This is especially useful if you are on a dual monitor setup, as
you can detach the viewport and maximize it on one screen while you
keep your editors on the other one.

Now in CityEngine, you can also create your cities using
instanced geometry. Sometimes you will already have your buildings
library and you need to create a city with them; or maybe you need
some sort of stylized buildings for your city, and creating a city
with instanced geometry may just be easier than editing the
procedural modeling script.

CityEngine includes City Wizard, allowing you to create a
complete city with just a few mouse clicks. When you run the City
Wizard, you can select elevation and obstacle maps, roads layout,
type of city, and whether you want your city textured or just as a
gray model. It would be a killer feature if the City Wizard would
let you create a city using instanced geometry, as they are created
using the CGA scripting language.

New to CityEngine is the Immediate Mode. This feature allows you
to change the parameters of your buildings in real-time, using
parameter sliders found under the Inspector tab. It’s a very nice
addition since you no longer need to rebuild your object after
you’ve changed something in your code.

These sliders display attributes depending on the building type
you’ve selected, meaning that some parameters will only be
available in certain buildings. You can control anything from the
size of the building to texture type, in real-time.

Street generation is very well featured. Just like in the
previous version, you can create your streets using the Open Street
Map format, drawing your streets, and importing the shapes. You can
add small features to the streets, such as street lamps as well.
Lamps and other accessories can be added as imported assets and are
placed on your sidewalks procedurally using CGA scripting.

If you own a 3D mouse, you can use it to navigate your city.
I’ve been using my SpacePilot Pro to move my camera around, and
it’s extremely responsive and works just as I’d expect. You can
also map your buttons to commands you use. On the other hand,
CityEngine also allows you to use navigation modes based on your
favorite 3D app (such as Maya or Max).

As I said before, CityEngine includes different ways of
exporting created cities to 3D applications or even game engines.
Among others, you can export to both FBX and COLLADA formats,
meaning you can export to virtually any 3D app out there.

Exporting my city to Maya was a breeze using the included FBX
exporter. Everything worked as expected, even texturing.

I was interested to see how CityEngine would exchange data with
Unreal Engine 3. Unfortunately, you need to use Python scripting,
which I don’t know, and write your own routine to import and
position your meshes inside Unreal Engine. The COLLADA format will
get your meshes inside Unreal Engine, but they are imported as
separate building parts, which you’d have to assemble yourself.
On the other hand, even if it’s extremely simple to use exchange
data between CityEngine and Maya in FBX format, that same file
didn’t work with UE3, meaning there must be a problem with the
UE3 FBX importer.

Other exporters are .OBJ, Mentalray, Renderman and a Massive
Software exporter (for those who don’t know, Massive is the
software used to create the 10,000 strong armies you saw in the
Lord of the Rings movies).

CityEngine comes in different versions: SE, Pro, and EDU. You
can see the chart below listing the features in each version, as
well as the pricing. The price range may be out of reach to
hobbyists, but I don’t really think the program is aimed to
them.

If you find yourself needing to create large scale cities for
film, game development or any other type of architectural projects,
CityEngine is an application you should really consider adding to
your toolset.

Article Comments

Great review Sergio. Does the software just allow you to create modern cities ... or does it also generate medieval architect? Dee Marie

nemirc ()
posted at 10:24PM Wed, 24 February 2010

Well, luckily it's open enough to create pretty much any type of cities. For example, they used it to create ancient rome. Since you can also create cities using instanced geometry, things are even easier if you already have a library of buildings you want to base your city on :)

jyoungpa ()
posted at 4:59PM Wed, 03 March 2010

Nice review Sergio. I'd like to see how you think it compares to PixelActive's CityScape. It's also a large urban modeling program, but has a focus importing GIS data and hand building environments rather than using a script. Have you tried the demo yet?

Privacy Notice

This site uses cookies to deliver the best experience.
Our own cookies make user accounts and other features possible.
Third-party cookies are used to display relevant ads and to analyze how Renderosity is used.
By using our site, you acknowledge that you have read and understood our Terms of Service, including our Cookie Policy and our Privacy Policy.