Esri CityEngine

The CityEngine VR Experience for Unreal Engine: A Virtual Reality Experience for Urban Planning Applications

Update (29 May 2019): The CityEngine VR Experience has just been updated to version 2019.0 with improved support for Unreal Studio 4.22, Oculus Rift and many other improvements. Refer to our guide at GeoNet for details and release notes.

Virtual reality (VR) offers many exciting opportunities for urban planning: It allows city officials, planners, designers and citizens to immerse themselves in a virtual environment and view, discuss or modify possible development scenarios in ways that were not possible so far on regular computer screens or with physical models.

The CityEngine VR Experience is a complete solution for easily creating a premium VR application to explore your 3D city models and urban planning scenarios. It builds on a combination of Esri CityEngine, which is used for data integration, 3D modeling and scenario development, and Unreal Studio (Epic Games’ enterprise solution based on Unreal Engine), which then renders the scene in real-time, controls the VR headset and its controllers, and allows for collaborative studies using multiple headsets over the network. The experience comes as a ready-to-use and extensible Unreal Studio project template, from which CityEngine scenes can be easily imported, configured and viewed.

The basic idea of the VR experience is to create an environment that planners and other stakeholders are familiar with: The users initially finds themselves in a virtual planning office, with a nice 360° view, for example of their city (Figure 1). Centrally located in the office is a table with the 3D city model placed on top. In VR, users now can intuitively interact with the 3D city model to

Compared to the existing ArcGIS 360 VR solution for mobile headsets, which is based on static viewpoints, the CityEngine VR Experience offers a much more dynamic experience, where users can freely move around 3D city models and interact with them.

Figure 1: The virtual office with the planning table and a city model.

Urban Design with CityEngine

Esri CityEngine is a procedural modeling tool that allows for rapid transformation of 2D GIS data into smart 3D city models (Figure 2). More recent versions of CityEngine increasingly incorporate dedicated tools for urban planners, such as the visibility analysis tools in CityEngine 2018.1. However, CityEngine is primarily a modeling and reporting tool and not optimized for high-quality real-time rendering. What is required for urban planning applications that target a broad audience is an extensible authoring environment where additional interaction and user interface features can be added, and self-contained software applications can be built. This is where game engines come into play since they satisfy all these requirements just mentioned.

Figure 2: An urban planning scenario in CityEngine.

From CityEngine to Unreal Engine 4

In 2017, Epic Games announced Unreal Studio, which is an enterprise suite based on Unreal Engine. It includes Datasmith, a workflow toolkit that streamlines import of data into Unreal Engine and reduces tedious manual import conversion tasks to a minimum. With the release of CityEngine 2017.1, CityEngine has supported exporting city models using Datasmith, and the functionality has been continuously extended. Since then, customers have started making use of the CityEngine to UE4 workflow very quickly:

CityEngine allows us to model HOK’s massive urban planning projects. In the past, creating interactive high-end visualizations of several hundred thousand buildings was a challenge. Now, with the new CityEngine 2017.1, we can export directly to Unreal Engine. This enables us to craft fluid, data rich, real-time rendered experiences for our clients and stakeholders.

Christopher Zoog Design Technology Specialist, HOK

While this workflow can be used for creating a broad range of applications in UE4, it is also at the center of the CityEngine VR experience: Getting a model from CityEngine to UE4, and then embed it in an interactive planning environment with high quality rendering, and the appropriate navigation and interaction features (Figure 3).

Figure 3: The Unreal Engine editor with a CityEngine VR Example loaded.

Using the VR Experience

The users can approach the table and interact with the city model using a small set of basic actions: First, using the headset’s controller, the model can be panned, rotated and zoomed. As shown in Figure 4, this happens very easily by grabbing the ring around the table (for rotating and zooming) or by holding the controller above the model (for panning).

Figure 4: Interacting with the city model, in this case scaling and rotating the model.

After identifying an area of interest and viewing it from an aerial view, the users can decide to immerse themselves in the model. This can either happen through predefined point-of-interest (PoI) indicators or by teleporting to any desired location. The users will then find themselves in the city and can move around (again through teleporting), can get on top of buildings to get a bird’s eye view, and so on. The point of being able to get right into a planning scenario is crucial to obtaining a sense of scale and to get an impression of specific views.

CityEngine supports modeling of multiple design scenarios within the same project, and these scenarios can be imported in the VR experience as well. Users can activate a menu by tilting their controllers (with a similar gesture to looking at a wristwatch), and from there select, switch and compare different design scenarios (Figure 5). Using the same menu, users can also change the time of day in order to inspect the effect of shadows thrown by tall buildings or by vegetation.

Figure 5: Being immersed in the city model, users can inspect different scenarios and change the time of day.

Future Work

Besides the aforementioned collaboration features, we are working on enhancing the VR experience in a number of directions: Game engines have very advanced sequencing and animation capabilities, which is a good opportunity to make the scenes more dynamic by adding pedestrians and vehicles. Also, foliage could be animated, such as moving tree branches in the wind. Another direction is to add support for different lighting and weather conditions. Finally, we are working towards adding new interactive tools, so designs can be changed during a planning session. With CityEngine’s procedural runtime, this can be achieved relatively easily, for example changing the height of a building, changing its appearance and so on. Ultimately, we are seeking to create a new generation of urban planning applications which can be used by experts and non-experts.

Availability and Links

To get the CityEngine VR Experience, first subscribe to Unreal Studio (currently in beta). The template project will then automatically show up in your Unreal Engine library vault.

CityEngine VR Experience Guide on GeoNet:

Esri CityEngine:

Unreal Studio:

Standalone executable with CityEngine Philadelphia scene (Windows 10 64bit): We will make a standalone executable available again shortly after the 2019.0 release of the CityEngine VR Experience.


Thanks are due to the following people at the Esri R&D Center Zurich who substantially contributed to this project: Benjamin Neukom, Benjamin Steger, Fabienne Christen, Taisha Waeny, Simon Haegler, and Pascal Mueller.

About the author

Dr Stefan Arisona is a computer scientist and artist with interests in computer graphics, visualization, urban planning, architecture, game design and digital art. He works as a senior software engineer at the Esri R&D Center Zurich, where he leads the XR team. Stefan graduated in electrical engineering at ETH Zurich, received his PhD from the University of Zurich, and was Swiss NSF fellow at UC Santa Barbara. As a founding principal investigator of ETH Zurich's Future Cities Laboratory, he resided in Singapore from 2010 - 2014.

Next Article

Help Guide the Future of ArcGIS Hub

Read this article