Building VR Ar Experiences With Cityengine Unity and Unreal Engine
Building VR Ar Experiences With Cityengine Unity and Unreal Engine
Interactive experiences such as games, touchscreen apps, live video effects, VR/AR
apps require fast refresh rates (60 fps or higher).
Alternatively, game engines can also be used for offline rendering of 3D still images
and video sequences.
Architectural visualization
Source:
CGArchitect 2019
Arch Viz Rendering Engine Survey
Creating experiences quickly: Epic Twinmotion and Unity Reflect
CityEngine user examples
Unity or Unreal Engine?
Unity vs. Unreal Engine: what they have in common
• Both are complete game development environments
• Run on all major platforms, support many target platforms (PC, mobile, console)
• Support state-of-the-art 3D rendering, both are well suited for XR
• No built-in support for GIS data / coordinate systems yet
Unity vs. Unreal Engine: licensing
Unity Unreal Engine
• Subscription model • Publishing license: royalty-based
• No royalties • Creators license: no royalties, free
• Source code not generally available • Source code available
“Winner”
Technology Unreal
Community Unity
Importing GIS data in general
Game engine limitations for geospatial and CAD data
• Traditionally, game engines work in a local coordinate system and are not able to
cope with georeferenced systems
- Thus data must be transformed (centered) before it’s imported
• Precision: typically 32bit floating point
- Extent must be within limits (depending on base unit applied)
• Optimization
- Game engines focus on rendering (with some additions, e.g. collisions) and therefore
optimize (e.g. merge) geometry so it can be batch-rendered
- Consequently, originally structured data is turned into unstructured objects, making it hard
to interact with
Source: https://www.researchgate.net/publication/258241826_Using_3D_Design_software_BIM_and_game_engines_for_architectural_historical_reconstruction
The classic option: FBX
• FBX (by Autodesk) is well supported by both Unity and Unreal Engine
• 3D modeling and CAD tools often provide FBX exporters
• In practice however…
The classic option: FBX
• You can hook into the engine’s import process to filter, optimize, replace, enrich, ...
• In Unity: Using custom import scripts or by using PiXYZ
• In Unreal Engine: Using scripted or visual dataprep
Include geospatial data using CityEngine
Sync
ArcGIS Online
ArcGIS Urban
FBX
Unity Editor
Importing GIS data into Unity
Workflow: select models and chose “Export Models...”
Workflow: chose Autodesk FBX, tweak settings, and click “Finish”
Workflow: drag & drop FBX file to Unity assets and into scene
Workflow: move camera to a point of interest in the city
Workflow: press “Play”
Importing GIS data into UE4
Replacing CE preview materials with high quality UE4 PBR materials
Preparation of UV mapping
Texture in CityEngine
Replacement of material
Replacing CE placeholders with UE4 assets
• Unreal Engine and Unity have many similarities, also some differences.
• In addition, we will see integration of CAD- and GIS enabling software directly into
the engine. For example:
- CityEngine integration: plugins to generate procedural geometry directly in the engine
- ArcGIS integration: plugins to access GIS content from within the engine
Vitruvio: A CityEngine plugin for Unreal Engine