In this tutorial, we introduce the basics or a very powerful node in Archimatix, the PlanRepeater.
In this short tutorial, you will coax a living parametric model to shape shift into different forms. Archimatix ships with a library of such parametric props, ready to stamp out incarnations of themselves to use in your games.
In this tutorial (below), you will learn:
In this two-part tutorial, you will use 2D Shapes from the Library, such as a Circle and a RoundedRectangle, merge them with a ShapeMerger and then Lathe them to form a large Skyplatform. You will reuse the merged shape to feed into an Extrude Mesher and automatically distribute this Extrude as End Caps for the Lathe.
Node Menu Sidebar
Click anywhere on the node canvas to pan it.
Use your scroll-wheel to zoom in and out, centered on your mouse cursor
Choose a Circle from the Library sidebar menu
Click on the node palette to move it.
Click on the Output Parameter of the Circle Node (without dragging).
Move your mouse cursor to the righthand sidebar menu.
The sidebar menu has filtered the nodes so that only nodes that can receive the Circle Shape Output are displayed.
While hovering over the node sidebar menu, use your scroll wheel to scroll down to the Extrude node.
Click once on that node. The Extrude node should appear on the node canvas just to the right of the Circle.
Click on the node palette header bar or the thumbnail at the bottom of the palette and drag the node palette to a new position.
Move the Extrude palette to the left of the Circle palette, the connector between the two will wrap around to show that this is a directional relationship, i.e., the output of the Circle Shape “flows upstream” to the input of the Extrude node.
Mouse over the upper-righthand corner of the thumbnail at the bottom of the Extrude palette.
After a small orange sphere appears, click and drag the sphere to orbit the thumbnail view camera.
Dolly the thumbnail view in and out by holding down the ⌘ key (MacOS) or the control key (Windows) before clicking and dragging.
Open the Transformations foldout in the Extrude’s node palette.
Click on the Trans_X parameter and slide to the left and right.
Open the Controls parameters foldout on the Extrude node palette.
Click and drag the Extrude [Y] parameter. The hight of the extruded Cylinder will increase.
At the bottom of the Extrude node palette is a display showing the number of vertices and triangles in the output mesh.
Open the Geometry foldout on the Circle node palette.
Increase or decrease the number of segments using the segs parameter slider.
Notice the number of verts in the Circle stats display is updated, as is the mesh stats for the Extrude.
Click the first button on the menubar at the bottom of the Node Graph Editor window. This will re-fold all the parameters foldouts that you have currently open.
Clicking on the next button, the “”Close All Tools” button, will hide any Material nodes, Tool nodes and Shape Nodes.
Clicking on the third button will show all nodes in the Graph.
Note the stats summary displayed on the right side of the bottom menubar. This is the count of vertices and triangles that your entire model will have when built.
In this tutorial, we introduce the basics of combining Shapes from the 2D Library to easily create complex forms.After completing this tutorial, you will have learned:
Artful parametric modeling is all about managing relationships. Not the personal kind, but the algorithmic kind.
By defining meaningful relationships among your parameters, you can encode a new and powerful morphological genus – creating a new species DNA, as it were, that can be used to generate hundreds of variations of models.
There are two kinds of parametric relations in Archimatix: 1. inter-nodal connections, and 2. parameter expressions. In this tutorial, we will demonstrate inter-nodal connections.
When you connect parameters from different noes to each other, you are authoring behaviors for your parametric model. When you modify one parameter, all sorts of changes may ripple through the model according to the logic you encoded via Relation connections and mathematical expressions within the Relation. Furthermore, these Relations may be bi-directional, meaning that you can change a parameter anywhere in the graph and changes will ripple out from that parameter. The default mathematical expression set when you fist specify a Relation is equivalency, or simply “=”..
A common case for an equals Relation is when you want one object to always sit atop another, regardless of how tall the bottom object is. In the example to the right, the behavior illustrated is that the blue Cylinder is always atop the red Box.
To set up this parametric behavior:
Transformations of the Cylinder.
You will notice that the relation is bi-directional. Modifying either parameter will alter the related parameter. This is a departure from other parametric modelers which feature uni-directional relations. The benefit of bi-directional is that, when playing with a parametric model in the SceneView, you can click just about anywhere you like and start modifying, rather than searching for the “master” parameter.
However, this freedom is not free: the bi-directionality requires inverse expressions to be input. In the case of our simple example, we did not edit the expression found in th relation, relying on the default equals expression. Let’s take a look at how we might make a slightly more complex relation expression.
When would like to have more interesting Relations, you can use the ExpressionEditorWindow that pops up when you click on the green button at the center of the Relation connector cable. In the ExpressionEditorWindow are two text fields allowing you to edit the bi-directional relationship between the two parameters.
Lets say that we would like to simulate the movement of a piston relative to the rotation of a crankshaft in a car engine. The piston rises and falls sinusoidally as the shaft turns. The expression is Piston.Trans_Y=Sin(Crankshaft.Rot_X). Lets go ahead and set this up:
In the ExpressionEditor, in the field filled in with Crankshaft.Rot_X, change the expression to: Sin(Crankshaft.Rot_X) and then click on the Save button just below.
We will save more elaboration on this with the addition of a piston rod, etc. please see the tutorial The Parametric Engine.
If you find yourself connecting the Trans_X for one node and the Trans_X of another node to the same source, it is probably better to group the two nodes together with a Grouper and then relate the Grouper’s Trans_X to the source. This is analogous to parenting two GameObjects to an “Empty” GameObject in the Unity hierarchy window. While Archimatix can handle lots of relations, by using relation connections where a grouping would do, you will add more visual complexity to the NodeGraphWindow.
For example, the animation to the right depicts a parametric behavior whereby the red Box and the blue Cylinder are always positioned at the end of the gold Box. There are two ways we could encode this behavior:
Method 1: This method is not preferable, but happens commonly while building up a graph. The Trans_X of the Cylinder has been related to the width parameter of the rectangular plan of the gold Box with an expression of Cylinder.Trans_X=Rectangle.width/2. When the red Box was added to the graph, a similar relation was added between the gold Box and the red Box, as shown in the figure to the right. Now when we drag the Handle for the Rectangle width, the blue Cylinder and the red Box translate accordingly.
The down side of this is that we have two connections and we have to enter the same mathematical expression twice (for the Cylinder and for the red Box). If we want to change that relationship, we have to change it in two places. Also, the graph will quickly get cluttered if such translations are maintained with Relation connections all the time.
Method 2: Alternatively, we can feed the Cylinder and Box into a Grouper and then relate the Trans_X of the Grouper to the width of the Rectangle.
The behavior of our parametric model will be exactly the same, but now, if we wish to edit the expression in the relations, we are editing in only one place. Also, the graph will have fewer parametric relations, which tends to make the graph more legible.