The CityEngine VR Experience Unreal Engine 4 project template is a complete solution for creating virtual reality experiences to explore ArcGIS CityEngine architecture and urban planning scenarios. It consists of a virtual office with a planning table at the center, upon which CityEngine models can be placed and interacted with. Multi-headset mode is supported, thus scenarios can be collaboratively viewed, explored and discussed.
This document provides and introduction to get all necessary data from CityEngine into Unreal Engine and how to configure and use the CityEngine VR Experience. For details on CityEngine export refer to the CityEngine Unreal / Datasmith export documentation. For details on configuring and customizing the Unreal Engine VR Experience, refer to the CityEngine VR Experience Advanced Features documentation.
Update (October 6 2020): The CityEngine VR Experience 2020.0 for Unreal Engine 4.25 is available in the Unreal Marketplace again. Follow this link to get the project template for free.
Note: The whole setup of the scene can be completed without using a VR headset. However, to fine tune the experience, you will need a headset.
Note: This document refers to CityEngine VR Experience 2020.0, CityEngine 2020.0, and Unreal Engine 4.25.
To use the CityEngine VR Experience the following software / hardware is required:
The main Level of this template project in Unreal Engine consists of an office room with a round table at the center. The table is the main interaction point within the VR experience and arbitrary city models from CityEngine can be placed on top of it. The following sections explain how to get your city model (optionally with scenarios) into Unreal Engine 4 and how set it up correctly.
Note: There are several tutorials available within the editor. They describe how to import terrain and scenarios as well as how to add teleportation targets. You can start the tutorial by pressing the white play button on the VRExperienceTutorial.
Note: After importing the model from CityEngine you can hide either the room or the city model using the Unreal editor's world outliner.
Scenarios make it possible to create different designs for the same scene. For example, scenarios can represent multiple development proposals for a site or different phases of construction. The following steps describe how scenarios can be exported from CityEngine and imported into the Level in Unreal Engine.
The import process will now import the datasmith files, add the imported data to the level and setup the Actors correctly in the World Outliner. For each imported Plan an UrbanEvent Actor is created and for each Scenario a BranchActor.
Teleportation locations can be used to let the user quickly navigate to points of interest inside the city model by using the laser pointer (using the Trigger Button, see also the VR Navigation section) from the controller.
To change the name of the city (which is shown above the planning table), select "BP_LevelController" in the World Outliner. In the Details panel, scroll down to "CE Level Controller" and edit the field "City Name". Note that the name will only show up after you launch the VR experience.
This section describes the navigation and interaction tools available in the VR experience.
Following an overview of all interaction possibilities of the controller and a short description. The controller interactions which are of interest for the VR experience are highlighted in bold type. After that a more detailed description of each interaction follows.
In this VR experience, locomotion is primarily handled by teleportation. To teleport to a new location, press the Trigger Button and move the controller until the teleportation beam appears. If the beam appears red, you cannot move to that position. You can also change the direction you are facing when teleporting by tilting the controller. The resulting orientation is indicated by the arrow on the ground as seen in the screenshot below:
You can select a plan by aiming your laser pointer at an object indicated by a yellow outline and then pressing the Trigger Button. Alternatively you can select the plan in the Plans part of the menu. To change the scenario, select the slider in the menu and move the indicator to the desired scenario. If you want to get an overview of all plans again, you can use the Zoom Out button, this will bring you back to the initial overview.
To navigate to a dedicated point of interest, aim the laser at a teleportation target and press the Trigger Button.
If you are inside the city model you can display all teleportation targets by opening the menu using the Menu button and then pressing the Viewports button. A portal for each available point of interest will appear. Point at one of the portals and press the Trigger Button to teleport there.
To pan or zoom the city model, hover with your controller closely over the city model until the pan/zoom icon appears over your controller. Then press the Trigger Button and move to controller horizontally to pan the city model and vertically to zoom the city model in or out.
To rotate the city model grab the blue torus at the edge of the table until the icon appears. Then press the Trigger Button and move your controller to the left or the right, as shown in the image below. To raise or lower the table, press the Trigger Button and move your controller up or down. To increase or decrease the table, press the Trigger Button and move the controller towards or away from the table's center.
In some cases the textures are not streamed in correctly and appear blurry in the packaged build. This can be fixed by dragging the Blueprints/BP_TextureStreamingFix Actor into the scene (as show in screenshot below). This should fix the issue but will increase the initial startup phase by roughly 10 seconds.
Initial release of the CityEngine VR Experience