Important notice: Starting with CityEngine 2019.1, when exporting to Unreal Studio 4.23 or later, the CityEngine Model Loader is not required any longer. It is now possible to export from CityEngine using Datasmith and import the data directly into an empty Unreal Studio project. Also note that Unreal Studio will be retired with the Unreal Engine 4.24 release and we will remove the CityEngine Model Loader template from the marketplace. If you are using Unreal Studio or Unreal Engine 4.24 and later, we recommend you to use the CityEngine VR Experience for Unreal Studio.
This document describes how to get started using the Unreal Engine Datasmith exporter in CityEngine and the CityEngine Model Loader project template for Unreal Studio. It refers to CityEngine version 2019.0 and Unreal Studio 4.22.
How to get Started
- Get the latest CityEngine: https://www.esri.com/en-us/arcgis/products/esri-cityengine/overview
- Join the Unreal Studio Beta: https://www.unrealengine.com/en-US/studio
- Install the Epic Games Launcher. Important: The Epic Games Launcher is required as a prerequisite before you can use the Unreal Exporter in CityEngine.
Watch our Webinar: https://www.youtube.com/watch?v=vMAVRnEWPEU
- Consult our Frequently Asked Questions below.
- Launch the Epic Games Launcher. In the Vault, locate the CityEngine Model Loader template project. Note: The Unreal Studio subscription will automatically add the latest corresponding Datasmith import plugins to the Epic Games Launcher (see "Unreal Studio" section in the Epic Games Launcher).
- Use the CityEngine Model Loader template to create a new Unreal Studio project ready to import Datasmith files exported from CityEngine.
- Consult the CityEngine Datasmith / Unreal Engine export help: https://doc.arcgis.com/en/cityengine/latest/help/help-export-unreal.htm
- Consult the CityEngine to Unreal Engine workflow documentation: https://community.esri.com/docs/DOC-13169
Frequently Asked Questions
- Is CityEngine available for testing/educational purposes right now?
Yes, a trial version of CityEngine (includes the Unreal exporter) is publicly available here: https://www.esri.com/en-us/arcgis/products/esri-cityengine/trial
- What are the system requirements for creating a large scale project like the HOK Planning Demo project shown in the webinar?
We recommend 32gb memory, a Nvidia 980GTX or 1080GTX GPU (or AMD equivalent) or newer and a current Intel i7 (or AMD equivalent, like Ryzen) CPU.
- Can the exported Unreal project be shared or is this only for design purposes?
All Unreal features are available, i.e. you can easily export to a shareable standalone "game" executable.
- Is the HOK Planning Demo model lighted by stationary lights? I mean, there isn't any lightmass calculation?
The HOK planning demo was done with dynamic lights (and was still very fast). Light map baking via lightmass is tricky to get right and takes a lot of time for large city scenes.
- How do you deal with frame rate and optimization if you need to share this executable with a client? It seems like exporting it straight out of City Engine will spike the frame rate.
The demo shown in the webinar was a straight forward export out of CityEngine with more than 100million polygons. In CityEngine we only spent a bit of time to make sure we not generate more materials than necessary (this is the expensive part in Unreal). We still achieved 60fps on a Nvidia 1080GTX.
- How is the lighting handled, built-in or preview mode and how does it work over 10's of km?
The webinar demo scene covered about 10x10km consisting of about 100million polygons and is using dynamic lighting (no lightmap baking). On a Nvidia 1080GTX we reached 60fps with this setup.
- Is there a standard price for CityEngine? And if so, what is the price for CityEngine?
CityEngine pricing depends on your local Esri reseller, please find contact information in your country here: https://www.esri.com/about-esri/contact
- I cannot find the CityEngine Model Loader Template Project in the Epic Marketplace!
Users with an Unreal Studio license should automatically see the "CityEngine Model Loader" and the "CityEngine VR Experience" projects in the Vault section of the Epic Games Launcher.
- Why are the tree models (in fan/model representation) from ESRI.lib not displayed correctly in Unreal?
Our default material in the template project does not support opacity masks for performance reasons. The trees in model/fan representation in ESRI.lib make havy use of opacity masks, so the material needs to be adjusted. In CGA, the material used in Unreal is controlled with the "material.shader" attribute. There is currently a limitation in ESRI.lib that this attribute cannot be set from the outside, i.e. we recommend to create a modified copy of ESRI.lib for use with the Unreal exporter. Please modify these two rules in "Plant_Loader.cga":
const UE_M_MASKED_OPACITY = "/Game/Materials/CityEngineMaterials/M_CE_MaskedOpacity"
Known Issues and Limitations
- Any CityEngine "builtin" textures like "builtin:default" and "builtin:uvtest.png" are currently ignored at export.
CityEngine Model Loader Release Notes
CityEngine Model Loader 2019.0 (2019-05-20)
- Support for Unreal Studio 4.22
- Native datasmith terrain support
- CityEngine PBR material support
CityEngine Model Loader 2018.0 (2018-07-20)
- Support for Unreal Studio 4.20