Genome
RSS< Twitter< etc

<< Selection Modifiers

Face To Vertex Selection Conversion

Some 3ds Max objects and modifiers provide a shortcut for converting the face selection into vertex selection (and vice-versa). Similarly, the Graphite toolset provides conversion tools, but none of them operates procedurally on the data flowing up the stack.

Genome lets you convert the face selection to vertex selection using three different methods.

The following tutorial will demonstrate the basic ideas behind this workflow. 

  • Take the scene from the previous tutorial where a Cylinder was bent and faces were selected based on their growing area.
  • Select the TurnToPoly modifier and switch the Selection Level to Object.
  • Add a Genome modifier to the stack and set it to "VERTEX" interation mode.
  • Press the "Open Magma Editor" button.
  • Press Ctrl+[O] to add an Output node and set the output channel to Selection.
  • Press [I], [C] and then [A] to create a SelectionFromFaceAvg inputChannel node. 
  • Press [C] and [F] to insert a Convert > ToFloat operator to ensure the selection data is of the right type.

RESULT: The Vertex Selection channel will be set to an average value from all faces sharing the vertex. For example, if there are 4 faces using the vertex and all four are selected, the vertex will get a value of 1.0. If three out of four are selected, the value will be 0.75, if two are selected and two not the vertex selection will be 0.5 and so on. In other words, this channel converts the face selection to a Vertex Soft Selection.

  • To produce a hard vertex selection (either 1.0 or 0.0), Genome exposes two additional data channels called SelectionFromFaceUnion and SelectionFromFaceIntersect.
  • Switching the InputChannel node to SelectionFromFaceUnion will perform a Union (OR) and select a vertex completely if at least one face that uses it is selected. This means that the vertices on the outside edge of the face selection will also be selected.
  • Switching the InputChannel node to SelectionFromFaceIntersect will perform an Intersection (AND) and only select a vertex if ALL its faces are selected. This means that the vertices on the outside edge of the face selection will not be selected because they also share unselected faces.