Unreal Engine (Datasmith) Export

Format Description

The Unreal Engine (Datasmith) exporter provides simple data transfer from CityEngine into 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.

Note that 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.

To import a CityEngine scene into the Unreal Editor, it is recommended to use the "CityEngine Template Project" for Unreal which is available in your Unreal Vault if you are subscribed to Unreal Studio. This template contains master materials with shading networks that automatically connect CityEngine material attributes to Unreal materials (see Materials).

Export Options for Unreal

The Datasmith exporter supports the following settings:

Option Description
Global Offset Global offset for generated geometry for x, y and z axes (Cartesian coordinate values).
Mesh Merging Different options on how the resulting meshes are merged:
  • Per Initial Shape Meshes are merged by initial shapes.
  • Per Initial Shape By Material meshes are merged by initial shapes by material. This will result in one mesh per material for each initial shape.
  • Globally Meshes are merged globally.
  • Globally by Material Meshes are merged globally by material.
Instancing Different options on how instancing is handled:
  • Disabled Instancing is disabled.
  • Use Instancing Instancing is enabled which results in meshes being shared between Actors if possible.
  • Use Instancing with Unreal Foliage System Instancing is enabled and instances are added to the Unreal Engine Foliage System. Note that Material overriding for instances of the same mesh is not supported with the Foliage System. If this is needed, use normal instancing without the Foliage System instead.

Mapping between CityEngine and Unreal entities

Geometry

Each exported mesh is represented as an Actor in Unreal. Each unique mesh is exported as a Static Mesh and reused if instancing is enabled.

Materials

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 (see Instanced Materials).

By default, an opaque master material is used (see Default 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. Following a table with the CGA material attributes and their respective Unreal parameter name and type:

CGA attribute Unreal Parameter Name Unreal Type Note
material.color
Color Vector3
material.opacity
Opacity float
material.reflectivity
Reflectivity float
material.shininess
Shininess float
material.bumpValue
BumpValue float
material.ambient
Ambient Vector3
material.specular
Specular Vector3
material.colormap
ColorMap Texture2D
material.dirtmap
DirtMap Texture2D
material.specularmap
SpecularMap Texture2D
material.opacitymap
OpacityMap Texture2D
<none>
OpacitySource float For OpacitySource value:
0: Use color channels (gray level) from OpacityMap
1: Use alpha channel from OpacityMap
material.bumpmap
BumpMap Texture2D
material.normalmap
NormalMap Texture2D

Default Master Materials

The CityEngine template project provides several master materials. By default the M_CE_Opaque material is selected which is used for opaque materials. Other master materials for transparent and masked materials exist. Further documentation on the default materials can be found in the CityEngine template project in the Unreal Marketplace.

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.

The specular color is not used in Unreal. The specular color in Unreal depends on the base color and how metallic the material is.

CityEngine reflectivity and shininess are translated to Unreal Roughness and Metallic.

Further Reading

Copyright ©2008-2018 Esri R&D Center Zurich. All rights reserved.