Week III was the 1/4 Walkthrough of the project. The logic and process of our presentation was: giving a brief introduction of the background and overview of the project, according to our pipeline sequence guests were invited to each computer to watch real-time demonstrations. This type of communication was more interactive and participative than sitting through the presentation. At the same time, it was easier for the guests to understand the demonstration in the order of our pipeline. Our team was very happy with the results of the 1/4 Walkthrough, which overall met our expectations.

1. Beginning – Deconstruction of architectural structure

At the beginning of the pipeline, we tried to deconstruct the architectural structure of Tang Dynasty. The deconstruction mainly occurred in the module parts where we will do procedural modeling. This work can be used as a kind of prerequisite logic for our subsequent single buildings generation.

2. Creating building modules in Houdini

The whole building is roughly divided into the upper part and the lower part, which are respectively modelled in Houdini using procedural methods.

In the first stage, a simple foundation was completed. For example, the length, width and height can be customized. The series of stairs can be adjusted and changed with the height.

We also built a prototype of roof with tiles, which can be easily adjusted for custom parameters such as overall length and arch angle.

3. Tools Development – Wall Generator

Progress has also been made in the tools development.

The wall generator currently works well on both Houdini and Unreal Engine. On the Houdini side, we can manually draw a guide line and have the wall follow the path of the guide line to generate procedurally. The generated walls can be easily altered and adjusted, and holes (doors) can be dug using simple Boolean operations.

The latest version of wall generator in Unreal Engine supports specifying custom assets. When working in tandem with Houdini, the process and results are even better.

4. City Layout Generation – Grid + Subdivision

As the later part of the whole pipeline, the city layout generation stage will be done entirely in Unreal Engine. We implemented the first version of the method prototype in Unreal Engine 5 based on the Subdivision algorithm we have been working on.

By giving the generator some custom parameters, such as seed, block width and height, we can generate the entire map of the corresponding result in the world. If we find that some of the generated blocks are too narrow, too large or too small, and they lost the function they were designed for, we can add some constraints so that the generated results have a range and avoid the possibility of unavailability.

Implementation Demo