Play || Stop

RDG Generic House - an Houdini Digital Asset

Abstract

This Houdini Digital Asset generates abstract central-European houses.
It can be used to visualise building volumes in large scale models.

What is a building volume?

Building Volumes ("Baumassen") are usually used in architectural models and visualisations to represent the volume of buildings. They are often made of simple cubes.

The RDG Generic House can be used to build dwellings and simple villages to demonstrate the allocation and placement of settlements in large scale models.

Download

You can download the HDA and a sample scene here:

After the downloading unzip the file to a directory and install it in Houdini as Operator Type Library.

color cube houdini

Choose File -> Install Operator Type Library... and point to the directory where the rdg_colourcube_[version].otl resides. Use the Install Library To option to choose where you want the type library to be available.

How to use the RDG Generic House

After installing you can start using the RDG Generic House. If there is no Geometry object, create one and enter it by pressing [ENTER] or [i]. Use the TAB Menu start typing [r][d] ... and choose the "RDG Generic House".

usage

In the Viewer Panel now should appear a generic generic house:

house

Parameter and Options

The RDG Generic House offers a simple interface to configure the "Look" of your houses.
The main purpose of this Digital Asset will be the distibution using a copySOP and the stamp function. On this accunt all parameters are accessible at all times.

House Type

The House Type parameter defines the parameterisation of the building:

house types
From left to right: Saddle roof (0), Hipped roof (1), Half-hipped roof (2).

Usually you will set this parameter with a stamp function, but you can also choose the house type in the drop down menu to find the right values.

house type 2

Global Scale

The Global Scale is used to adapt the house to the scale of your scene.

house scale
The Global Scale was changed with random offset.

Body Parameter

The three parameter Body Width, Body Length, Body Height define the footprint an proportion of the building.

These values define relations. If Global Scale is set to 1, they could be interpreted as units like meters, depending on your system settings.

footprint
Width, Length and Height are changed by a stamp function.

*** NOTE: The total height of the building is body_height + roof_height.

Roof Parameter

Depending on the house type the roof parameters effect the appearance of the building.
While the Roof height is a relation like the body parametes the other values are factors that are based on the width and length of the building.

roofheight
The Roof Height affects all house types.

hippdness
The Hippednes factor affects the Hipped roofs and Half-hipped roofs.
In this figure the Hippdnes for a hippedroof is changed from 0 to 0.5

*** Note: this factor ranges from 0 to 0.5. The reason for this is: the hippdness of the roof can be maximum 0.5 of the building length. 0 to 1 would be more intuitive ...

halfhippednes
The Half-hippedness factor affects the height where the hippdness starts.
Left to right: 0, 0.25 and 0.5

slope kick
The Slope Kick can introduce irregularities to the slope, resulting in various interesting roof patterns.
Here the slope is tranformed with this function: -8 + 8 * 1 + (stamp("../copy1", "type", 0) - 1)

The slope kick is a bias that is introduced into the slope:

0.5 * ch("../bodywidth") * (1 - ch("../roofhalfhip")) - 0.05 * ch("../slopekick")

The Predfined Groups

The builing offers two predefined groups 'roof' and 'body' that can be used to vary the visual appearance by applying different shaders

vary
Here the color of roof and body are randomized using two primitiveSOP and some stamp functions.

*** RANT: If you are puzzled about the colours: Yeah, central-german buildings can be a hell painted in pastel – preferable lemon and/or mint.

Conclusion

This HDA was the starting point for my journey into houdini [1]. I had to finish it somehow to get my mind free for new tasks. There is a lot of stuff that could be implemented – groups, details, shaders – but they need to be pondered and designed on a case to case basis.

I first coded this kind of building generator 2005 in 3D Studio MAX. I wouldn't dare to compare the results nor the development as the MAXscript was one of my first 'complex applications' just like this HDA.

2007-04-13 Georg Dümlein

References

[1] http://forums.odforce.net/index.php?showtopic=4959