By Fred Abler
In school, young architects quickly learn that severe constraints are often their best friend. Then as professional designers, we routinely seek the deepest design constraints early to begin negotiating the forced compromise of good design.
Not surprising then, forced compromise also drives the very best software design.
The severe limitations of viewing 3D objects on a 2D screen forced Joe Esch to invent the geometric inference engine in the late 90’s, and SketchUp was born. SketchUp’s inference engine gave users an intuitive pen and paper like “drawing” experience paired with simple tools that let designers play with their designs in a way that had not been done before. The result was a unique user experience I call ‘structured play’, that proved to be an addictive approach to 3D content creation (we’ll come back to this).
Early video games similarly had severe memory limitations. This forced content such as maps to be generated algorithmically on-the-fly – there simply wasn’t enough space to store large amounts of pre-made levels and 2D/3D Art. This content strategy was called procedural generation, whereby needed virtual real-estate gets whipped up procedurally ‘just-in-time’ from rule-based algorithms. Regrettably, capacious memory has since largely obviated such programmatic cleverness.
Today, games ship with tons of ‘dead parrots’ (polygons) and handmade 3D Art. However, procedural generation has recently made a big comeback in a new class of voxel-based terrain games called ‘sand-box modelers’. MineCraft makes extensive use of procedural generation. Whenever a player moves to the edges of the ‘known world’, more terrain is procedurally generated. Those familiar with generative components, or that design-school-darling Rhino and its Grasshopper plugin, already understand procedural generation.
ESRI’s CityEngine uniquely enables procedural generation for city-scale content creation. CityEngine is like… well, it’s a lot like SketchUp on steroids. Individual 3D objects are not just dynamic components, the entire network of 3D objects in your model space collectively has dynamic fidelity! So for example, you can simply drag the street-edge of your city block model, and CityEngine auto-magically in-fills the urban block with suitably contextual buildings – using the procedural equivalent of Chris Alexander’s ‘pattern languages’.
To get quick view of this urban block stretching (and other whizzy demo capabilities ) check out the CityEngine demo:
http://www.esri.com/software/cityengine/demos.html
To see the true power of CityEngine’s pattern-based inferencing, and the future of UI design, watch Gert make a bridge…. wait for it !!
http://video.arcgis.com/watch/427/3d-gis-in-arcgis-10.1
In fact, ESRI’s CityEngine is what you would get if SketchUp’s (inference engine), and Chris Alexander’s ‘A Pattern Language’ had a love-child. How is that for a forced-association? CityEngine’s geometric engine lets you mashup geodesign patterns on the fly, and afterall mashup is just another word for forced association. So not only is the underlying software design the result of brilliant negotiation of forced compromises; CityEngine itself powerfully enables you to experiment with your own forced-associations. It’s the urban designers’ ultimate 3D pattern-masher.
For example, I started my first session by importing a “San Francisco” style base map into my CityEngine workspace, and then applied a ‘Science Fiction’ design pattern. Actually, they’re called “rules” in CityEngine, but designers don’t like rules. They should be called patterns. This scifi mashup with thousands of 3D buildings took less than 3 minutes to generate. I actually made a cuppa, so it was probably less. Afterwards, I spent way too much time tweaking this procedurally generated android dream into something that looked like a CGI set for – CSI 2K47 : San Francisco (Bladerunner Division).
In short, ESRI has a huge breakout 3D tool for urban content creation and design exploration on its’ hands with CityEngine. New for the staid GIS provider, CityEngine software has legitimate snazz-factor, and the combined inference-ability and play-ability more than meet my viral test for ‘structured play’. This software is sticky! You’re in-flow almost immediately, and then the software quickly engages the users’ curiosity and ‘what if’ design sensibilities.
Those of us who fondly remember the delicious hours spent falling in love with Google’s SketchUp, will recognize the feeling.. all over again.
Fred Abler is CEO of FormFonts 3D, the world’s first subscription-based 3D model library.
Details and Downloads, etc.
ESRI has just released a new version of CityEngine and you can get your 30 day free trial here.
This latest version takes typical GIS layers (i.e. design patterns) easily as input, and thereby enables more geo-specific urban content generation. It also enables you to insert high fidelity reference models where needed, and makes extensive use of drag and drop.
FormFonts 3D’s .dae files are easily imported into CityEngine and we will soon be supporting ESRI’s style files natively. If you need custom models for CityEngine, we can of course oblige. I’ve already requested my procedural ‘electric sheep’ from Alan Fraser, and our world-class 3D artists will be happy to help make procedural content for you. In fact you might just find some of Marc’s handiwork in the latest CityEngine release.
The download takes less than 2 mintues, and the setup wizard was actually worth it! It lets you easily bind your mouse and keyboard to CityEngine using familiar iconography from your favorite 3D application. So of course… I simply selected SketchUp, and the entire CityEngine interface is now strangely familiar.
© 2011 FormFonts 3D – All Rights Reserved. No use without full attribution and linking.
Thankyou – Fantastic review. The workflow explanation was really informative – we will have a look at this in our office too. Look forward to more sketchup related reviews.
Thanks Jonathan! We would love to hear the results of your internal review.
Pingback: ESRI just got a whole lot more… 3D | FormFonts 3D Models