We are excited to present an example project from first design steps using ArcGIS CityEngine, to high-end visualization using Unreal Engine, Epic Games’ enterprise solution based on their Unreal Engine 4 game engine. Our motivation for this project is to show the new possibilities that come along with the latest releases of CityEngine and Unreal Engine, and to explore the creative potential that is revealed by linking these two engines.
Our starting point is the plan for the redevelopment of Dorchester Avenue in South Boston carried out by Boston Planning & Development agency (www.bostonplans.org). The study inspired us to look into the area learning from the guidelines and conclusions of the proposal and come up with our own ideas for what Dorchester Avenue could become: a lively spacious green city.
We set off for a multi-dimensional design process considering aesthetic, functional and environmental criteria, that were integrated in a sequence of computational strategies leading to the generation of the city. Then we exported the city to the game engine for high-quality and VR visualization and for creating a virtual reality (VR) experience. In this post we want to tell the story of the technical workflow that has been the backbone of our project step-by-step and to share the insights that we gained from this project.
The design challenge
The sheer scale and complexity of urban design projects are some of the greatest challenges a designer must face: manual analysis becomes unpractical and it is hard to apply design processes that yield results in a reasonable time frame. Procedural modeling allows to speed up the process of designing large numbers of objects by laying out the rules that describe them and letting the computer take care of the repetitive task of the generation of geometry. CityEngine brings procedural modeling and urban analysis tools within the reach of architects, designers and planners in an environment that does not require in-depth computational knowledge.
In our story we link to various resources for learning how to use CityEngine to lay out rules for the generation of buildings from scratch that will be useful for following the story. Then we go a step further to examine how to structure and organize those rules from a designer’s perspective, and ways to convey design aspirations in a rule-based computational process. We present a modular design approach, separating the process of the generation of buildings into clearly defined parts that are written in separate CGA rules. These can be combined in various ways allowing for more morphological diversity with less coding, as well as high level of control over the design.
Once the procedural models are complete, we export them to Unreal Engine, which allows to realize high quality renders and to ‘walk’ through the project in real-time. However, processes like setting up the lighting, applying materials and textures, introducing assets such as foliage, cars, people, or street furniture at this big scale, can pose difficulties. At the same time, the number of high-detailed buildings and the large extent of the scene can bring the performance of the computer to its limits, making it hard to navigate around or render. To answer to these challenges, we provide an Unreal Engine template with the basic settings, materials and suitable lighting, and we present strategies and tips for facilitating time consuming tasks and improving the performance of the scene. What is more, we discuss ideas for exploring temporal dimensions of an urban scene such as visualization of day-night cycle or use of moving actors.
A great contribution of our workflow is that it enables the exploration of the project in an immersive virtual reality environment. The VR experience starts in a virtual planning office with a table that has the 3D model of the city placed on top. From there the user can teleport in the city and explore the design in scale 1-1, change the hour of day and light conditions, as well as explore different scenarios during the VR session.
Our workflow consists of two parts: procedural design, with CityEngine 2019 as the main tool and visualization strategies with Unreal Engine 4.22 as the main tool, that we describe in detail in our full story on GeoNet. For each part we discuss our approach conceptually and then give technical details for the implementation of our ideas, along with tips for best practices and links to relevant pages for more in depth exploration of the various techniques.
Our goal? To shed more light on how architects and planners can use CityEngine as a design tool for their projects. To show step-by-step the workflow that links CityEngine 2019 with Unreal Engine 4.22 for achieving high-quality real-time visualization of large-scale scenes. To bring together knowledge from various sources that is necessary for overcoming challenges of such projects. And last but not least, to open the discussion for further exploration of what new creative potential the combination of CityEngine with Unreal Engine can bring to the table.