Ziye Liu's Blog
  • ( www.ziyeliu.com )
  • Home
  • Visual Effects Blog
    • Houdini >
      • Procedural Courtyard House
      • Procedural Music Animation
    • Maya - MEL >
      • MEL Rooftop Generator
      • MEL Circle of Spheres
    • Maya - Rendering >
      • Maya Render Premultiply Issue
      • Depth of Field and Bokeh
      • 3D Render - Match to a Real Object
      • RenderMan I
      • RenderMan II
    • Python >
      • Python Sampler Quilt
      • Motion Capture Data Parsing
      • Python and Turtle Graphics
  • Themes & Variations
    • The Film
    • Scene 1 - "Crazy Polka Dots"
    • Scene 2 - “Untitled”
    • Scene 3 - "Grapes"
    • Scene 4 - “Narcissus Garden”
  • 中文博客

Procedural Modelling in Houdini 12

"Beijing Courtyard House"

图片

Inspiration

Inspiration came from the Courtyard House in Beijing, also known as "Si-he-yuan", which is an architectural style of residence house commonly seen in cities among northern China.
The typical style of a "Si-he-yuan" is a four corner courtyard, where each component of the structure was built accordingly to strict regulations and rules. The style was considered to be a symbolic icon of traditional northern Chinese architecture, and is indeed a combination of art and technique itself.
There are still many "Si-he-yuan" exists nowadays, most of them are being reconstructed into tourism attractions, only a few remain untouched as in its original, authentic form. 
图片

Modeling the First Building

The whole building is built as a procedural model, which means it's easy to create diversity by assigning new dimensions.
Node Network is arranged according to the space and relation between each component, and with name and label.  
Most of the structure modeling was achieved with the help of Copy Node. Some of the extra features such as randomness was done with Copy Stamping.

Modeling the Courtyard

图片
A Procedural Model of Courtyard House, in wireframe display
The courtyard here is basically houses in a rectangle arrangement. There is a main house being used as living room, and other houses as kitchen, storage or bedroom. Along with these buildings, the courtyard is surrounded by layered walls and doors. 
According to the construction rule of a typical courtyard, three basic elements were used to build into a procedural courtyard model, then combined into a courtyard object with control to each component's dimensions.
图片
Layout of items are based on points, and used point attributes to control dimension and detail switch. 
Individual building's dimensions are calculated automatically from the width and depth of entire courtyard.
Trees are made using Houdini's L-system.
Proxy Object to Optimize Viewport Display
Detailed Model
图片
Node Graph of a Courtyard Object

Modeling the Street Block

图片
"Hutong" ("water well", or "town" in Mongolian) is the name of these narrow alley between courtyards and houses.
Since the individual courtyard house is finished, the next step is to replicate them into street blocks.
Copy and Copy Stamping are widely used to achieve a randomized look of the street block.
The distribution of courtyard houses are based on actual street plan, but also with varieties and functionality. The orientation of each courtyard is calculated from it's position in columns / rows, so that all courtyard houses have their main entrance facing the street.
For optimization purpose, proxy objects are used to replace the highly detailed courtyard model. The proxy objects will turn into detailed model after frame 2, leaving frame 1 safe for viewport display.

Modeling Variaties

Since each courtyard is copy onto points, the point information are used to generate random seed. So that every courtyard will have different appearance, such as various number of trees, spacing of columns, height and width or position.
图片

图片

Texture and Shader

UV layout in Houdini is not easy. In order to save time, most of the geometry nodes were applied with a UVTexture node, and distribute the UV based on axis and faces. Texture maps are mostly tiling maps.

Texture Varieties

In order to avoid the unnatural look caused by texture repetition, many materials were assigned with 2-3 textures, each of them has slightly different variations. 

Lighting and Rendering

The scene is render using Houdini's environment light and Mantra Physically Based Renderer. Then exported as OpenEXR image sequence for post production.

Conclusion

Being a procedural modeling tool, Houdini is more powerful than Maya. Comparing to Houdini, Maya is more flexible in organic and character modeling, but obviously weak in modeling buildings or objects with complex pattern. 
www.ziyeliu.com
Digital Art, Visual Effects, Photography
©Ziye Liu, 2011 - 2019, All Rights Reserved