armory icon indicating copy to clipboard operation
armory copied to clipboard

Suggestion to improve nodes workflow

Open knowledgenude opened this issue 3 years ago • 2 comments

Connecting a same value to different nodes may cause spaghetti very fast in the node tree:

Screenshot from 2021-07-12 10-21-34

In the example, to connect a same object in two nodes, we need to use a Get Object node to have a same object as input in both nodes. So what about if the Set Object Rotation node and the other nodes outputs the inputed values in this case? This would improve a lot the node chaining.

All nodes could procedurally output its inputed values (with a space or other separation between their natural outputs) like that:

improve-node-chain

knowledgenude avatar Jul 12 '21 13:07 knowledgenude

That's a cool idea, although I think that it will actually complicate the understanding of logic nodes. For many people who don't know how to read code, a logic node is a black box, so I see the danger of not knowing whether an output has a new value or the original value. It's just another output that again has to be looked up in the wiki or it needs a very descriptive name.

Even if the current way can be more unpleasing for the eye it might be easier to understand and to manage in the long run, it's more explicit. Also if you delete a node, the other connections to other nodes after it will still be intact.

In terms of UI friendliness it could work if nodes had some dedicated "pass-through" area below them, this would be very easy to understand then. But I fear that this is not possible with the Blender API.

MoritzBrueckner avatar Jul 15 '21 10:07 MoritzBrueckner

I think more is in proper way to achieve this actually this is not to passing the values through a node but letting the user create an optical custom node which you can extract from a group of nodes.

like the “extract method” function of an IDE. The supposed to be then only a visual layer which hides the nodes behind and “acts” as it would be a node with custom logic inside by providing and receiving the values from the first node and the output nodes.

TheSaan avatar Nov 16 '21 06:11 TheSaan