1. Development Updates and Iterations in Houdini

According to the production scheme of the single buildings, a part of the building modules is completely procedurally generated and the other part is manually prefabricated. Now we are going to merge some of the prefabricated building modules into Houdini, including dougong (bracket set), doors and windows, etc. The results of the merge also require some processing to match the bite, position, and dimensions between the modules.

Import Dougong (Bracket Set) with Stash Node

Stash Input: the node will cook the input and cache the geometry in a data parameter.

Import Windows

Test the position, number and fit of the combined dougong (bracket set) and windows.

Organize the node network after merging.

Details: Placing the Dougong (Bracket Set) by Calculating the Point Position & Other Decorations

Divide the lines into 2 groups (x direction / z direction)

Getting the center points of the lines, and replace the points with Dougong (Bracket Set) and other decorations.

Using the L-system to create corner part

Using “remove point function” to create fences / frames

Using “reverse function” to prevent reverse faces

In addition, some problems and bugs encountered during the development process have been fixed.

Fixed UV errors

Before
After

Solved the problem of creating stairs through a box instead of a line.

Normal direction problem and height problem caused by box.

Then matching stairs to right positions.

The way to get the dimension information from unreal input and use them (multiple subnets).

Result in Houdini

Solved the problem of exporting HDA without losing imported models.

Adding a UE5 input to multiple subnets.

Multiple Unreal Input Layers

Our artist studied the terrain textures of UE5 and tested the blending of multiple materials.

2. Road & Wall Tools Updates

The wall model used by the wall generation tool has been optimized to reduce the number of triangles and thus reduce the rendering pressure.

Before
After

Polygons: 2444 -> 26 (-99%)

The original details of the wall model will be made up through certain art techniques.

For the mapping performance of the generated wall model in UE5, the problem of discontinuity in the turning point of the surface was fixed.

Before
After

3. Building Cluster and Placement Updates

Random modifiers were added to the single objects in the placed building clusters, so that the building objects can be rotated and offset at certain random.

Before
After

Walls (spline) and ward gates placement now supports a certain level of automation.

Shape Grammar

We were inspired after watching a technical demonstration of the Matrix achieved with Unreal Engine 5. In this demonstration, a technique called Shape Grammar was used for the assembly of building generation, combining components from different parts of the building into a whole. We were wondering if we can use part of this algorithm to implement the collage of the basic unit blocks of the building clusters, so as to make their results have a certain randomness.

https://www.youtube.com/watch?v=xLVJP-o0g28

Some information from earlier studies

Act as a grammar parser

Adding variety in the building blocks

To provide cluster-like generation

Some examples of generation testing within the building clusters by applying the Shape Grammar algorithm are shown in the figure:

Extra: In order to better guide players to explore the city and assist in our playtesting, we added a Treasure Hunting game.