Copy a Connection from a Node Input
Use Ctrl + Click to copy a connection from an input to another input.
Connection Wire Follows Single Click without needing to hold down
You can now create/discard new connections with two clicks - no need to click and drag anymore. This makes it easier to pan and zoom as necessary if your new connection has far to travel.
Left click on a port to start a connection from it. Left click again to either discard the connection (click on empty space) or complete the connection (click on a compatible port).
You can also discard the connection using the ESC key or with a right click
If you are more comfortable clicking and dragging, this still works as before.
Insert Node Into Chain
This feature allows users to quickly insert pre-connected nodes to the node graph from the quick add menu based on a selected node or wire. Depending on the state of the graph and what is selected upon inserting from the quick add menu, a number of different behaviors are expected to handle various edge cases.
1 - Basic Operations.
Let's first observe the most trivial scenario, adding with a leaf node selected:
In this scenario, if the user has the blur node selected and they add a node from the quick add menu, we should expect the new node to be placed to the right of the blur node, with one major grid line of space in between like so:
2 - Inserting into existing connections by wire.
If a node is connected to another node downstream, we should insert the new node in between the connection, without breaking the chain:
To add a node between two nodes, click the connection wire and add a node. Inserting a levels node here results in the following:
3 - Add a new branch to the selected node (Available from 2020.10.x)
Users should be able to add a new branch anywhere in the node graph without disturbing the existing connections.
To add a new branch, click the node from where the new branch has to be added. Adding a new branch to the Levels node (Gradient Removal node in this case) results in the following,
4 - Incompatibility.
If the inputs and/or outputs of the inserted node aren't compatible with the selected node or the downstream nodes (if present), then the inserted node is placed at the location of the quick add menu, disconnected from the rest of the graph:
If there are multiple input/output options available for the nodes involved, the algorithm will try to find a combination that allows the inserted node to be connected. Below is an example of mutation changing output type from material to map in order to generate a connection with a map-input-only blur node:
If there is an existing connection the inserted node will be placed into the chain, but only if the flow isn't broken by the changing of input and output options. Below is what occurs when changing the output type of the selected node to allow a connection with the inserted node would break the existing chain:
5 - Multiple outputs.
If we select a node with multiple downstream nodes and add from the quick add menu, we make a single connection (if possible) from the selected node to the inserted node and continue the multiple paths from that node's output. Take the below scenario as an example:
If we were to select only a wire from the above multiple outputs however, the inserted node would only connect through that wire. Here is what happens if we inserted the same node but the wire to gradient removal was selected instead of the blur node:
6 - Inserting positions.
If a new node can't be placed next to the selected node (the space is occupied by downstream nodes), then node will be placed above or below the current selection.
7 - Multiple selection
If multiple nodes are selected, then the insert location of the new node will depend on one of two cases being satisfied:
- Multiple nodes are selected along the same chain: This results in the new node being inserted based on the selected node that is furthest downstream in the selection.
- Multiple nodes are selected in different chains: If multiple chains exist in the selection, the new inserted node is placed unconnected from the rest of the graph at the location of the quick add menu.
If multiple wires are selected, the new node will only be inserted disconnected at the location of the quick add menu, as this insert operation only supports single wire selection.
If a combination of wires and nodes are selected then the selected nodes are given priority, falling back to the "multiple selected nodes" behavior.