Page contributed by Nicholas Bottone
What is CityEngine?
CityEngine is advanced 3D modeling software for creating huge, interactive and immersive urban environments in less time than traditional modeling techniques. The cities you create using CityEngine can be based on real-world GIS data or showcase a fictional city of the past, present, or future.
Using ArcGIS Pro or CityEngine, you can import map data and then visualize it alongside CSV datasets on the desktop or in VR. CityEngine supports exporting to Unreal Engine, where they support a collaborative VR experience app.
CityEngine is unfortunately not free. You can download a 21-day free trial by signing up with a business email at their business trial page here. Brown Software Catalog allows downloading the ArcGIS Pro suite if you are a current Brown community member from here. You may also need to join the Brown University ArcGIS Online organization to get a license.
Download Unreal Engine
To develop with Unreal Engine, you must first download Visual Studio (not VS Code). Select all options related to C++ game development during the installation wizard. After Visual Studio is installed, download the Epic Games Launcher and download the latest version of Unreal Engine (currently 4.27.x). In the Marketplace, search for "CityEngine VR Experience" then create a project using their template. When prompted to recompile the full project, choose yes. This will take many minutes.
What You Need
To develop with CityEngine and with Unreal Engine, you will need a powerful setup with all the prerequisite software installed. After compiling an Unreal Engine app, you can install it on any machine, even those that do not have all the complex engines installed. This can be used to distribute a project. The installed project will then run in Steam VR.
ArcGIS Pro vs CityEngine
ArcGIS Pro has much more advanced data visualization abilities compared to CityEngine.
ArcGIS Pro specifically excels (pun intended) at handling tabular data imported from Excel spreadsheets. ArcGIS Pro can use multiple types of graphs and visualizations such as heatmaps that overlap the maps.
On the other hand, CityEngine supports the use of Python scripts to manipulate data, but in less impressive ways, such as changing the color of the buildings.
Both applications can import map data and view the map data in 3D.
Both applications have very little documentation for their software SDKs (for example, for writing Python scripts). Video tutorials are severely out of date for both software apps.
CityEngine allows exporting the project to VR or to Unreal Engine, ArcGIS Pro does not as of 2022.
ArcGIS Pro projects can be exported to CityEngine, but not easily.
VR functionality works well once you finish going through the full export process, but you can tell that VR is not the primary focus of the software and is more of an afterthought. The hassle of setting up this software to export to VR is far too cumbersome to recommend to newcomers.
Controls (Oculus Quest 2 and others)
Triggers (6) are used for locomotion: point your wand at the ground, hold and then release the trigger button to teleport to that location. Twist your wrist while holding the trigger to adjust your destination rotation.
Triggers (6) are used for interacting with the table: to grab onto the table, hold the triggers. Drag vertically to raise/lower the table, drag horizontally to spin the table, or pull outwards / push inwards to resize the table.
Thumbsticks (1) are used to control the positioning of the city model on the table.