Disclaimer: This is an experimental preview version of the Vitruvio plugin, with known bugs and limitations. We are working on a future stable version which will be released on Github.
Vitruvio is a plugin for Epic Games' Unreal Engine 4 (UE4), co-developed by Esri, Epic Games and The Glimpse Group. It provides an actor called BP_PRTActor that allows the execution of Esri CityEngine ‘rules’ within UE4. Therefore, game designers or artists do not have to leave their familiar UE4 editor environment to make use of CityEngine’s procedural modeling power. Complicated export-import pipelines are no longer needed, which also means that the procedural building models do not need to be “baked” anymore. The buildings stay procedural during the entire modeling workflow (in future also in-game). Consequently, the artists can change the height, style and appearance of buildings easily with a parametric interface at any point during production.
Vitruvio requires rule packages (RPK) as input which are authored in CityEngine. An RPK includes assets and a CGA rule file which encodes an architectural style. The download section below provides a link to the comprehensive "Favela" RPK, which can be used “out-of-the-box” in Vitruvio.
Vitruvio is well suited for managing the procedural generation of architectural 3D content. However, Vitruvio is restricted to the procedural generation of single buildings/objects. Vitruvio does not include the city layouting and street network editing tools of CityEngine i.e. the rich CityEngine toolset to design a city from scratch (or based on geographic data) is still needed.
Vitruvio is free for non-commercial use. Commercial use requires at least one commercial license of the latest CityEngine version installed in the organization. No redistribution is allowed. Please refer to the licensing section below for more detailed licensing information.
The power of CityEngine inside Unreal Engine: The Petronas Towers generated using Vitruvio.
Currently, we provide an Unreal Engine demo project, which already contains the Vitruvio project and sample content. We recommend starting out with this project for a first look at Vitruvio. In addition, we also provide the "bare" Vitruvio Unreal Engine plugin, which can be integrated into empty or existing Unreal Engine projects. This section gives setup instructions for both the demo project as well as for using the plugin alone.
To setup and explore the demo project, follow these steps:
To use the Vitruvio plugin in an empty or existing Unreal Engine project, follow these steps:
This section describes how to setup the Unreal Engine project and how to use the Vitruvio plugin.
RPKs (CityEngine Rule Packages) and Initial Shapes (as OBJ files) need to be copied into the Content/Vitruvio folder of your project.
Note: After adding or remoing RPK or Initial Shape files the Editor needs to be restarted.
Note: Initial Shapes can be exported from CityEngine with the OBJ exporter and by setting the Export Geometry to Shapes.
To generate a model, Vitruvio executes the CityEngine Procedural Runtime (PRT), which takes the selected RPK, an Initial Shape and a set of attributes as inputs. The generation process starts with the Initial Shape as start shape, from which shape grammar rules are expanded. The attributes are parameters that control shape generation. To get more information on rule-based modeling in CityEngine, refer to the CityEngine documentation.
The following steps show how to add a BP_PRTActor, select RPKs and Initial Shapes and how to change attributes which control the procedural generation of a model:
We look forward to hearing from you! Feel free to use the comment section of this page if you need help or if you have suggestions how we can improve Vitruvio until the official release.
Vitruvio is available under the same license as the included CityEngine SDK. An exception is the Vitruvio source code (without CityEngine SDK, binaries, or object code), which is licensed under the Apache License, Version 2.0 (the “License”); you may not use this work except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
CityEngine SDK: https://github.com/Esri/esri-cityengine-sdk
Palladio (CityEngine plugin for SideFX Houdini): https://esri.github.io/palladio/
Serlio (CityEngine plugin for Autodesk Maya): https://esri.github.io/serlio/