Transmitter & Receiver Node
A readable graph is an efficient graph.
However due to the nature of things you almost always have 'send' data to other corners of the graph resulting in spaghettis unless you spend time and effort cleaning the graph flow.
Katana has a nice system of 'Transmitter' and 'Receiver' Nodes.
Basically you attach a Transmitter Node on one Node and create a 'Receiver' Node in another corner. On the Dropdown Options of the Receiver you can choose any 'Transmitter' in your graph and internally there is a hidden connection created.
Voila. You can share stuff all over the graph without criss-crossing lines.
ability to set an output that you can then reference from the other side of the graph, like a variable in a shader node graph, allows you to reference that really useful mask multiple times across a graph without all the crisscrossing wires. please make it so
An alternative to this idea I'd recommend is to have "Instanced Nodes". In effect, allowing a node to be copied and then pasted as a "linked instance" that can't be edited but inherits the exact same properties of the original node. An instanced node couldn't have any inputs or properties changed, but additional outputs can be drawn out from it.
This way we could get the same effect as Transmitter & Receiver nodes, but without the requirement of adding a transmitter to the graph.
Take for example a common reuse pattern - I place a Clouds 1 somewhere at the start of my graph and want to reuse it in a few places far deeper down. For efficiency reasons I want to keep using the original Clouds node, not create new ones. I copy & paste a linked instance of the clouds, and off I go. Conceptually simple and is somewhat similar to how layer linking works in Substance Painter.
Here is a feature i was asking on the forum
i think this is the same idea :
I would need to find a way to replicate the
- Nuke postageStamp node
- Houdini ObjectMerge node
Inside substance designer.
Basically i would like to be able to select any node from a substance graph and create an instance of it.
Which mean that :
- it create a new node that can be plug anywhere in the graph
- this node does not exist in the background it just contain the same info of the node he refer to.
- you can toggle the display relationship, to display the link that connect the instance to his reference.
- you don't have to create a sub-graph / macro to reference the node
The goal of this is to avoid sphaghetti graph and overlapping connections everywhere.
This tend to make graph cleaner to read, without having to split your graph into sub-graph.
Don't know Katana but others node based application have this functionality.
MaxJitter, Reaktor, Virtools (a bit old but was good).
Another Option would be to allow a transparency on connectors. This could give a visual "Hierarchy"
This idea sounds amazing for wire management. I make heavy use of the Mesh Data Combiner node and Tri-Planar so this will save me some hassle yanking wires from a node all the way from one side of the graph to the other.
I posted a similar idea to this with node instancing, makes sense for me to upvote this one instead of making a new one :)
Link to post below.
in other words like In and Out portal nodes. I like it!