The Unreal Engine (DATASMITH) exporter provides efficient data transfer from CityEngine to the Unreal Engine Editor. The main purpose of this exporter is for architectural and design visualization workflows, but will obviously also work for games and other tasks.
- The Unreal exporter is only available on Windows.
- To use the Unreal exporter in CityEngine, at least the Unreal Engine Launcher needs to be installed as a prerequisite.
- The CityEngine Model Loader Project is not needed anymore and will eventually be removed from the Unreal Engine Launcher.
In addition to the general export options, the Unreal Engine DATASMITH has the following options:
Global offset for generated geometry for x, y and z axes (Cartesian coordinate values).
Different options on how the resulting meshes are merged:
Different options on how instancing is handled:
Metadata can be exported when the Mesh Merging mode is set to either Per Initial Shape or Per Initial Shape by Material. Metadata export options:
The exported metadata is attached to the root object of each initial shape in Unreal.
Terrain layers can be exported to Unreal Engine Landscapes . The following options are supported:
Mapping between CityEngine and Unreal entities
Materials are translated to Unreal by passing CGA material attributes to an Unreal Material Instance which is based on a certain master (or parent) material.
By default the exporter generates appropriate master materials which handle the translation from CGA material attributes to Unreal material attributes (see also Default master materials).
Custom master materials
A custom master material can be assigned by setting the material.shader CGA attribute to the corresponding Unreal material path, e.g. /Game/Materials/CityEngineMaterials/M_CE_MyMaterial.
Each CGA material attribute is exported and can be accessed in Unreal by using a material parameter with a specific name and data type. The following table lists the CGA material attributes and their respective Unreal parameter name and type:
|CGA attribute||Unreal parameter name||Unreal type||Note|
For OpacitySource value:
Default master materials
By default, an appropriate Master material (opaque, transparent or masked) is generated during export, based on the following rules:
- If material.opacity is smaller than 1 or material.opacitymap is set
- and the opacitymap.mode is blend, a Transparent master material is used.
- and the opacitymap.mode is masked, a Masked master material is used.
- Otherwise the Opaque master material is used.
The Unreal Engine sorts transparency per actor. Exporting overlapping transparent actors will lead to rendering artifacts. Masked binary opacity is not affected by this limitation.
Default material attribute translation
The default master materials translate the CGA material attributes roughly to a physically based Unreal Material. If the material.shader is set to CityEnginePBRShader (this happens automatically if for example an inserted glTF model is exported), the default master materials in Unreal will use the PBR material attributes (roughness, metallic, and emissive).
The specular color is not used in Unreal. The specular color in Unreal depends on the base color and how metallic the material is.