Editor Tips
Here are a few useful tips about the editor workspace.
Editor Controls
Canvas
Middle Mouse Button + Drag: Pans the canvas
Alt + Middle Mouse Button + Drag or Mouse Wheel: Zooms the canvas
Ctrl + Z, Ctrl + Y: Undo and Redo recent actions.
Ctrl + C, Ctrl + V: Copies and pastes the current selection.
Ctrl + A: Selects all the nodes in the canvas.
Z key: Zooms the canvas onto the selection, or onto the whole graph if nothing is selected.
X key: Opens the operator searchbox (see below).
Nodes
Drag (Starting in an empty area): Selects any nodes and wires in the selection box.
Delete key: Deletes any selected nodes, wires, and groups.
Ctrl + Click: Toggle the node's selection.
Shift + Drag: Copies the dragged nodes.
Ctrl + Alt + Drag: Moves the dragged node and all incoming children.
Shift + Alt + Drag: Extracts the dragged node from its group node.
Wiring
To quickly connect a node onto an existing wire, begin by clicking and dragging on the node to move it.
Hold the Ctrl key and place your cursor onto the wire. When the dotted yellow line appears, you may release your mouse button to insert the node.
The node's compatible ports will be connected onto the wire. If more than one port is compatible, the available options will be listed in a small box.
Hold the Alt key as you drag a node to remove it from its connected wires.
X Search
Press the X key and start typing to search through the available set of nodes. The operator naming scheme (as of MCG 2018) is based on the guidelines below. For example, if you know you're looking for a mesh, consider entering the search string "mesh" to filter the results. You may also use the star (*
) character as a wildcard to fill in the blanks, for example: input*fl
will produce the results: Compound Input: Float, Tool Input: Float, Tool Input: Float Array. Use the arrow keys to navigate the search box and press Enter to place the selected node onto the canvas.
Action:
<Verb> <Type>
- Performs a high-level transformation on the input type.
- Examples: Twist Mesh, Split Mesh into Polygons, Mesh Extrude Faces, Attach Splines
Boolean:
<Type?> Is/Has/Contains <Attribute>
- Checks for the existence of an attribute or a state.
- Examples: Edge Is Visible, Spline Is Empty, Matrix Is Decomposable, Mesh Has MapChannel, Is Equal, Bounding Box Contains Bounding Box.
Getter:
<Type> <Attribute>
- Extract an attribute or a state from a type.
- Examples: Mesh Vertex, Spline Length, BoundingBox Center.
Setter:
<Type> Set <Attribute>
- Set the attribute on the type.
- Examples: BoundingSphere Set Radius, Matrix Set Translation, SceneNode Set Parent
Constructor or Converter:
<ResultType> from <StartType>
- Returns the desired type from another type.
- Examples: Bitmap from File, Bitmap from Pixels, Mesh from Buffers, Spline from Points.
Sampling:
<ResultType> on <SampledType>
- Usually returns a set of points or transforms or vectors based on a sampled type.
- Examples: Random Transforms on Mesh, Closest Point on Face, Points and Tangents on Spline.
Array Creation:
Array of <Type>
- Generates an array containing the given type.
- Examples: Array of Integers, Array of Floats Inclusive, Array of Value, Array of Alternating Items
Primitives:
<Name> <Type> Primitive
- Returns a primitive object of the given type.
- Examples: Cube Mesh Primitive, Box Mesh Primitive, Axis Tripod Mesh Primitive, Loop Spline Primitive.
Grouping
Use groups to organize your nodes and to add comments to your graphs. To create a group, select the nodes, right-click to open the context menu and select Create Group Node.
Double-click on a group's titlebar to edit its title.
Double-click on a group's body to edit text in a smaller font.
Right-click on a group to open its context menu to Change Background Color and to enable Auto Fit to Content to ensure it wraps around its contained nodes.