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
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.
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.
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.
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.
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.