Getting into Shapes
Shapes are important in Archimatix because they are at the root of mesh generation. Example of simple parametric Shapes include a Circle, a Rectangle and an Arch. More complex parametric Shapes are gears, molding profiles and quatrefoils. Even more complex shapes can be formed with boolean operations that combine shapes and other shape modifiers that thicken, round and deform Shapes.
Unlike a topological modeler, where vertices and polygons are copied and manipulated directly, Archimatix is a parametric modeler in which meshes are typologically generated from sets of rules and modified by controllers. These rules and controllers can be authored by you or you can combine the dozens parametric shapes that come bundled with Archimatix. These “living” smart shapes can be rigged up with parametric mesh generators to author your own typology of vehicles, weapons, buildings and urban fabric. A shape, while itself parametric, becomes a parametric generator of many varied meshes.
Parametric shapes are often more powerful when constructing architectural settings than drawing a free-form curve, because the logic of certain geometries can be built right in. For example, an arch shape is much easier to manipulate with a few controls like radius or springHeight rather than drawing a arch shape by hand.
While Archimatix provides the ability to edit shapes topologically, for example, clicking on a vetex and moving it, the real power of the modeler comes in when shapes are manipulated by handles that embed logical relationships.
A simple example of a parametric shape that would be hard to make topologically, one vertex at a time, is a circle. Many things in the world are generated from circles–barn silos, cannon barrels, motte-and-bailey castles, etc. One need not define each point in the circle, only a center and a point at a given radius away. The rules of a circle quickly generate all the vertices that form the shape. While no one would try to create a circle with a topological editor, the example provides a sense of the power of parametric curves with relatively few control handles.
Archimatix not only provides a host of bundled parametric shapes that reflect common architectural, mechanical and mathematical typologies, but it supports the authoring of custom parametric curve logic that lets the designer define what handles would be best for that shape.
For example, let’s say that you want to create a certain kind of hut that would be made from an “I” shape with a semicircle extending off the shape somewhere. While each hut in the village is unique in its proportions, all huts share this I-with-a-circle” typology, which itself is a function of the villagers’ culture. If such a shape is not already in the library, based on example already in the library, you can “code” one and decide what parameters should be used to allow others to create many I-shaped house variations. This shape can then be rigged up with mesh generators to easily generate dozens of unique houses that share a certain art. In this sense, you can make a new “type” of shape that can be instantiated in many permutations that go beyond the basic transformations of translation, rotation and scaling, thereby generating village after village in a certain cultural domain of your world.
Over time, you may build up a library of shapes that are specific to the art direction of your game. These shapes may be used by other artists on the project to make things “in the art” of your shape, while no two instances of the shape need be duplicates.
The positioning control parameters for a shape are a subset of those for other objects because of its nature–it is a 2D animal at heart. Regardless of how the shape should or will be oriented in 3D space by its consumers, such as a ShapeMerger or a Mesh generator, in its local definition, it is always considered to be in the X-Y plane.
A shape provides Trans_X and Trans_Y, excluding Trans_Z. The translation handle for a shape is a Point Handle rather than a Position Handle to indicate that it is not have 3D movement.
Likewise, there is no Rot_X or Rot_Z, but only Rot_Z to control rotation.
Alignment is also limited to the x and y axes.
What does it mean to have texture controls for a shape? Since the shape is a generator input for a mesh, you can control certain aspects of the mesh’s texture at the shape level. For example, let’s say that you wanted a mesh generated from a PlanSec extruder to be faceted in plan, but smooth in section. You can achieve this by setting the breakAngle in the plan shape to say 10 degrees, while setting the breakAngle in the section shape to 100 degrees
The shape description can contain UV coordinates so that up to a certain point in the description should span U=0 to U=1.23.