Extending ArcGIS Urban with CityEngine: Realistic Facade Models – No Code
ArcGIS CityEngine expands the parametric and generative planning functionality available with ArcGIS Urban, and can support your planning work at scale throughout the planning process. This blog is part 2 of a three-part series focusing on different integrations between Urban and CityEngine. In this part, we explore how we can leverage CityEngine to generate realistic facades for the buildings within our ArcGIS Urban scenarios to enhance the impact of our planning scenarios. Read Part 1 here to explore initial Urban-CityEngine integrations.
Introduction
This blog is Part 2 of a three-part series. Read Part 1 here to explore initial Urban-CityEngine integrations.
ArcGIS Urban is a powerful tool for community planners, allowing for rapid modeling of urban growth and change to support growth management and planning policy development opportunities. Urban allows for a scenario-based parcel-by-parcel exploration of how changes to zoning conditions and parcel networks enable new development, and how that new development in turn produces measurable outcomes in terms of additional households, population, jobs and more. Then, when planning work is complete, ArcGIS Urban allows planners to easily share access to planning scenarios with their wider team, other key interest groups, and the wider community. However, the simple, colour-coded building massings produced through ArcGIS Urban can often be less engaging for the public than detailed, photorealistic visions of their communities. ArcGIS CityEngine is here to help: with CityEngine, planners can rapidly generate photorealistic models of potential development on top of ArcGIS Urban’s schematic massing.
Note: This series assumes a degree of familiarity with ArcGIS Urban. New to Urban itself? Check out this recent blog for an overview of the value Urban can bring, and explore the official Esri Training Plan for a hands-on tutorial on the basics of working with Urban.
How Can CityEngine Help?
ArcGIS CityEngine is a generative modeling tool that takes existing 2D and 3D geometry as a starting point and procedurally creates detailed models on top of it. Because CityEngine integrates directly with Urban, the buildings and exterior surfaces modeled within Urban Plans can be used as inputs in CityEngine, allowing us to quickly create detailed facade and exterior surface models for our Urban work.
CityEngine generates models using “rules”, snippets of code that define the form of the generated models, such as the cladding material, placement of windows, roofing type and more. Rules are fully customizable and are usually created through coding with the CGA scripting language. However, you don’t need to learn a new coding language to use CityEngine: a number of powerful rules are available out-of-the-box for use with your ArcGIS Urban massing, no custom scripting required. Using these rules you can create realistic visualizations for your scenarios in a matter of minutes. Let’s take a look at how.
Using CityEngine we can quickly go from schematic massing models to a detailed, realistic scenario.
1. Connecting to ArcGIS Urban & Downloading CityEngine Rules
First, we’ll need to open an existing ArcGIS Urban plan in CityEngine. Once this is complete, it’s time to collect those pre-configured rules to apply to our buildings in order to generate our realistic facades. As mentioned before, if you are familiar with CityEngine, you can of course work with your own custom-coded rules, as well as any number of rules created by other users and shared online. However, the rules we will be working with today can be downloaded from directly within CityEngine through the Esri provided example CityEngine projects. Simply select “Help” along the header bar, and then “Download Tutorials and Examples…”. Scroll through the list of examples and select the item named “Example VCGA Playground 2024.0” and download it.
Each example package includes rules, assets, and one or more example scenes to demonstrate how the rules can be used.
Note: There are a number of other useful examples available within this folder. In particular, the “Complete Streets” example contains a robust set of rules for streetscape modeling. In this blog we will focus on the VCGA Playground rules, but further exploration is recommended!
Once the download is complete, the example will appear as a project within your Navigator tab.
2. Generating Facades
Now for the fun part! Expand the “Example_VCGA_Playground__2024_0” item within the Navigator tab, then navigate to rules > VCGA_Designs > Facades.
Each rule in this folder offers a different facade style.
The rules listed represent a wide range of different facade styles designed for different space uses. To apply one of these facades to your buildings, simply select the floors within your buildings with the Selectr tool, and then drag the rule file you wish to use from the Navigator pane onto the selected buildings.
For mixed use buildings such as this one, we can use different rules to represent residential and commercial spaces.
The rule will be applied with default settings across all selected floors. We can further customize the building form through the settings available to us in the “Inspector” pane, such as changing cladding material, balcony depth, and more.
Available customization options, such as cladding materials, vary rule-by-rule.
As you continue to explore and apply different rules to your buildings, here are a few tips to keep in mind:
- CityEngine will not automatically recognize which floors need roofing within your buildings. To apply rooves, select the relevant floors and set the Show_Top setting in the Inspector pane to your preferred roofing material. You may also need to set the Top_Slab_Thickness option to a value above 0 (try 0.1) for some rules.
The provided rules include a variety of roof surfacing options, including a green roof.
- You may find that the elevation of the terrain around your buildings does not align cleanly with your ground floor facades. With CityEngine you can tweak the underlying terrain to avoid this. To do so, simply select your building’s ground floor, and then use the Align Terrain to Shapes tool. The tool has a number of available options, but the default settings are typically sufficient.
Aligning the terrain to the ground floor prevents the terrain from clipping through the flooring of this building’s arcade. - Finally, when working with the rules included for ground floors, you may notice that some of these rules will add entrances to one side of the building. If you wish to change the side of the building on which the entrances appear, simply select the edge of the ground floor plate, and then select Shapes > Set First Edge along the header bar. The building doors will be rotated to this side of the building.
Setting the first edge allows you to modify the location of the building frontage.
3. Publishing Back to Urban
When you have completed your modeling work, you can share your results from CityEngine back to ArcGIS Urban. This will allow you to make these models visible to other users and community members. To do so, first select all of the buildings for which you have created models. Then, along the header bar, select ArcGIS Urban > Publish selected models to Scene Layer. After a few minutes, your models will be published to ArcGIS Online and automatically added to your scenario in ArcGIS Urban as a new context layer.
Finally, if you have done any modification to the terrain elevation mentioned earlier, you can also share this back to Urban. Simple select ArcGIS Urban > Publish Selected Terrain in Scenario…, and, in the window that appears, ensure the scenario you have been working on is checked. Your updated terrain will be uploaded to ArcGIS Urban.
And with these steps complete, you have created and published a realistic version of your ArcGIS Urban scenario massing which you can use to engage non-technical stakeholders and the wider community!
This is the second of a three-part series. The first part, focused on rapidly modeling subdivisions with CityEngine, is available here. Keep an eye on this space for the third and final part, where we will explore how CityEngine can be used to rapidly generate complex multi-building lots, useful for large-scale master planning and growth modeling.