In order to think through the nature of parametric relations, I have been working with what will be a foundational library item to ship with the first version of Archimatix: a parametric column. At first glance, a column seems so simple–a circular shaft on a rectangular base, topped with a capital and a rectangular abacus. What could be so difficult about that? Why make it parametric and not simply a modular primitive? As it turns out, the column is an architectural element that we are particularly sensitized to. And columns are everywhere!
Subtle proportional differences in columns carry completely different personalities, not unlike the human figure. In fact, many ancient and medieval writers likened the column to characters. ((For example Vitruvius, the famous architect in Augustan Rome and the Abbot Suger who was the Patron of the first Gothic church.)) Even the early modernist, Le Corbusier, based his system of architectural proportions on the human modular. The personalities cast by the proportions of columns in your game environment will create a mood in the player as readily as music, lighting or color palette will. Since columns are often repeated in architectural arrays, their effect is amplified through the game environment. The above two images of the same parametric column model help to illustrate the many distinct variations that are possible. As an asset, this one parametric column can create hundreds of unique assets, even if before you learn to rig tour own parametric models. For the development of Archimatix, the column is a great case study, pushing the ability for the workflow and UI to define relationships between the parts easily and articulately.
Let’s break it down: The column can be defined by four distinct components: the base, shaft, capital and abacus. Editing any component will ripple through the other components according to the logic of a column. Defining the connections between these four interdependent variables challenges the system to present the user with a clear work flow that can manage these relationships expressively. Of course, the most important boundary binding for a column is its height. Grabbing the height handle and moving it will have an effect on the base, shaft, capital and abacus. If the column is consumed by a meta assembly, such as a repeater, that assembly will determine the column’s height, but the internal proportions that respond to the change in height are defined by the proportional logic of the column.
Here the column is put into a GridRepeater and a new module is create to handle the controls for a Temple.